Todos os produtos
Search
Central de documentação

Function Compute:Logs de métricas no nível de requisição

Última atualização: Jun 29, 2026

As métricas no nível de requisição oferecem uma visão detalhada de cada invocação de função e ajudam a entender o desempenho das suas funções. Use essas métricas para detectar e localizar problemas rapidamente, além de analisar gargalos na aplicação. Ative as métricas no nível de requisição para gerenciar e otimizar melhor suas aplicações de funções.

O que são métricas no nível de requisição

As métricas no nível de requisição resumem o status de execução de cada requisição de função. Quando ativadas, o sistema coleta métricas para cada execução da função — incluindo métricas de desempenho, exceção e rastreamento — e as entrega ao Logstore selecionado durante a configuração de log.

  • Métricas de desempenho: uso de memória, tempo de execução da função, tempo de inicialização, informações de cold start, entre outros.

  • Métricas de exceção: indicam se a execução falhou e apresentam detalhes do erro.

  • Métricas de rastreamento: duração da execução do caminho crítico, status da amostragem de rastreamento distribuído e, para funções HTTP, o caminho, código de status e endereço IP do cliente.

Após ativar as métricas no nível de requisição, o Function Compute entrega as métricas de execução de cada requisição ao seu Logstore no seguinte formato.

activeInstances: 0
activeInstancesPerFunction: 0
durationMs: 1.56
functionName: sync-clone
hasFunctionError: false
hostname: sr-65a76c74-1224f354965f43a...
instanceID: c-65a77eb0-15416274-ff5addb...
invocationStartTimestamp: 1705476027407
invocationType: Sync
invokeFunctionLatencyMs: 2.92
invokeFunctionStartTimestamp: 1705476027406
ipAddress: 21.0
isColdStart: false
memoryMB: 512
memoryUsageMB: 8.99
operation: InvokeFunction
qualifier: LATEST
requestId: 1-65a77fbb-157f3f32-e1ee24b17e49
resourceMode: OnDemand

Cenários

  • Use as métricas de requisição para visualizar detalhes de execução da função, métricas de desempenho e informações de erro.

    O console fornece uma lista de requisições baseada nas métricas no nível de requisição. Use essa interface para visualizar informações detalhadas de cada requisição, incluindo status de execução, ID da instância, duração da execução, uso de memória e logs de requisição.

    Na aba Logs da página de detalhes da função, selecione a subaba Invocation Requests para visualizar a lista de requisições. Os filtros acima da lista incluem Show logs only for the current version or alias, Show only function errors, Show only client errors e Show only cold start requests.

    Nota

    É possível visualizar a lista de requisições sem ativar as métricas no nível de requisição, mas os dados podem ser imprecisos nos seguintes cenários.

    • Quando múltiplos RequestIds idênticos aparecem repetidamente — comum em cenários de nova tentativa de invocação assíncrona — não é possível localizar logs para uma requisição específica.

    • Em ambientes de runtime personalizado ou runtime de imagem personalizada, se o seu código imprimir tanto FC Invoke Start RequestId: xxx quanto FC Invoke End RequestId: xxx, uma única invocação aparecerá duas vezes na lista de requisições.

  • Use as métricas de requisição para buscas personalizadas e criação de painéis customizados.

    As métricas de requisição são entregues ao seu Logstore no formato key:val. Crie painéis personalizados com base nas necessidades do seu negócio. Para obter instruções, consulte Criar um painel.

Observações

  • Escopo

    Os logs de métricas no nível de requisição são uma configuração no nível da função. Uma vez ativados, aplicam-se à função atual, e cada execução gera uma entrada de log.

  • Custo

    A entrega de logs ao Simple Log Service gera taxas de armazenamento. Para detalhes de preços, consulte Preços.

Ativar métricas no nível de requisição

Ativar métricas no nível de requisição no console

Pré-requisitos

Procedimento

  1. Faça login no console do Function Compute. No painel de navegação à esquerda, selecione Function Management > Functions.

  2. Na barra de menu superior, selecione uma região. Na página Functions, clique em na função desejada.

  3. Na página de configuração da função, selecione a aba Configuration.

  4. Localize Advanced Settings e clique em Modify à direita. No painel Advanced Configuration, vá até a seção Logging, ative Instance-level Metrics e clique em Deploy.

    A tabela a seguir descreve os principais itens de configuração. Mantenha todas as outras configurações com seus valores padrão.

    Item de configuração

    Descrição

    Valor de exemplo

    Logging

    Define se os logs de invocação da função serão armazenados no Simple Log ServiceSLS. Para mais informações, consulte Configurar logging.

    Enabled

    Log project

    Selecione um projeto de log existente.

    aliyun-fc-hangzhou-2238f0df-a742-524f-9f90-976ba***

    Logstore

    Selecione um Logstore existente.

    function-log

    Log segmentation rule

    Define se a segmentação de log será ativada. Se ativada, o Function Compute divide os logs em vários segmentos conforme a regra e grava cada segmento no SLS.

    Enabled

    Request-level metrics

    Define se as métricas no nível de requisição serão coletadas. Se ativado, as métricas de cada invocação de função são coletadas e entregues ao Logstore especificado na configuração de log.

    Enabled

    Instance-level metrics

    Define se as métricas no nível de instância serão ativadas. Se ativado, as métricas da instância são entregues ao Logstore especificado na configuração de log.

    Enabled

Ativar métricas no nível de requisição usando Serverless Devs

Pré-requisitos

Instalar e configurar o Serverless Devs

Procedimento

  1. Crie um diretório de código com a seguinte estrutura.

    .
    ├── code
    │   └── index.js
    └── s.yaml

    No exemplo, o campo enableRequestMetrics configura as métricas no nível de requisição. Antes de ativá-lo, ative primeiro o logging e defina logstore e project como um Logstore e um projeto de log existentes na sua conta.

    edition: 3.0.0
    name: hello-world-app
    access: "default"
    vars: # Global variables
      region: "cn-hangzhou"
    resources:
      hello_world:
        component: fc3 # Component name
        props:
          region: ${vars.region}             
          functionName: "start-nodejs-****"
          description: 'hello world by serverless devs'
          runtime: "nodejs16"
          code: ./code
          handler: index.handler
          memorySize: 128
          timeout: 30
          logConfig: # Update logstore and project to match your setup. Alternatively, use logConfig:auto to auto-create them.
            enableInstanceMetrics: true 
            enableRequestMetrics:  true  # Enable request-level metrics to collect execution metrics for every invocation
            logBeginRule: DefaultRegex
            logstore: 'your-logstore'
            project: 'your-project'
  2. Execute o comando a seguir para implantar a aplicação.

    sudo s deploy -y

    Após a implantação bem-sucedida, faça login no console do Function Compute para confirmar que as métricas no nível de requisição estão ativadas para a função implantada.

Consulta de log

Formato de log

Os logs de métricas no nível de requisição usam o formato de tópico: FCRequestMetrics:/functionName. No Simple Log Service, use a condição de consulta __topic__: "FCRequestMetrics:/functionName" para filtrar todos os logs de métricas no nível de requisição. Para mais informações, consulte Guia rápido de consulta e análise.

Campos de métrica

As métricas no nível de requisição registram as seguintes informações.

Nome da métrica

Descrição

Valor de exemplo

Registrado em toda invocação?

functionName

Nome da função.

my-function

Sim

versionId

Nome da versão.

12

Sim

qualifier

Alias do serviço. O padrão é LATEST.

prod

Sim

requestId

ID da requisição.

db72ce53-ccbe-4216-af55-642622e01494

Sim

operation

Nome da ação.

InvokeFunction

Sim

invocationType

Existem dois tipos de chamada.

Sync: chamada síncrona

Async: invocação assíncrona

Sync

Sim

memoryMB

Limite de memória da função.

512

Sim

memoryUsageMB

Memória consumida durante a execução da função.

410

Sim

durationMs

Tempo de execução da requisição.

20.20

Sim

isColdStart

Indica se houve um cold start.

Nota

Um cold start ocorre quando o Function Compute recebe uma requisição, mas não possui nenhuma instância de função pronta para atendê-la. O sistema precisa criar uma nova instância, baixar o código e inicializar o ambiente de runtime.

Definimos uma requisição de cold start como aquela que passa por todo o processo de criação de instância, download de código e inicialização do runtime.

O Function Compute otimiza os cold starts pré-aquecendo instâncias. Se uma requisição chegar enquanto uma instância está sendo criada e encontrar uma instância pré-aquecida pronta, ela não será considerada um cold start.

false

Sim

instanceEvent

Evento da instância. Atualmente apenas ColdStart, registrado para requisições de cold start.

ColdStart

Não

hasFunctionError

Indica se a execução da função encontrou um erro.

false

Sim

errorType

Os erros de função se enquadram nos três tipos a seguir:

  • FunctionOOMError: falta de memória

  • FunctionTimeoutError: tempo limite de execução excedido

  • FunctionUnhandledError: exceção não tratada

FunctionUnhandledError

Não. Registrado apenas quando hasFunctionError:true.

invokeFunctionLatencyMs

Tempo de execução da função.

99.00

Sim. Registrado em toda invocação.

traceContext

Contexto de rastreamento distribuído.

371d3ff242fcee9:371d3ff242fcee9:0:1

Não. Registrado apenas quando o rastreamento distribuído está configurado.

isSampled

Indica se a requisição foi amostrada para rastreamento distribuído.

true

Não. Registrado apenas quando o rastreamento distribuído está configurado.

resourceMode

Tipo de instância usado para a requisição:

  • OnDemand: instância sob demanda

  • Provision: instância provisionada

OnDemand

Sim

instanceID

ID da instância.

c-65603d8c-37e1bf7123054a77****

Sim

hostname

Hostname da instância.

c-65603d8c-37e1bf7123054a77****

Sim

ipAddress

Endereço IP da instância.

Observação: Este é o IP interno usado para distinguir instâncias, não o endereço IP público.

21.0.XX.XX

Sim

activeInstances

Número de instâncias ativas.

1

Sim

activeInstancesPerFunction

Número de instâncias ativas para esta função.

1

Sim

scheduleLatencyMs

Latência de agendamento. Maior durante cold starts.

10.07

Sim

coldStartStartTimestamp

Timestamp de início do cold start.

1700806029167

Não. Registrado apenas durante cold starts.

coldStartLatencyMs

Duração do cold start.

487.65

Não. Registrado apenas durante cold starts.

prepareCodeStartTimestamp

Timestamp de início do download de código. Timestamp UNIX de 13 dígitos, precisão em milissegundos.

1700806029167

Não. Registrado apenas durante cold starts.

prepareCodeLatencyMs

Duração do download de código.

0.18

Não. Registrado apenas durante cold starts.

runtimeInitializationStartTimestamp

Timestamp de início da inicialização do runtime.

1700806029168

Não. Registrado apenas durante cold starts.

runtimeInitializationMs

Duração da inicialização do runtime.

487.37

Não. Registrado apenas durante cold starts.

asyncAttemptStartTimestamp

Para invocações assíncronas, execuções com falha são tentadas novamente até 3 vezes por padrão.

Este parâmetro é o timestamp de início da ${retryCount}-ª nova tentativa.

1700806028084

Não. Registrado apenas para invocações assíncronas.

asyncAttemptLatencyMs

Para invocações assíncronas, execuções com falha são tentadas novamente até 3 vezes por padrão.

Este parâmetro é a duração da ${retryCount}-ª nova tentativa.

1688.74

Não. Registrado apenas para invocações assíncronas.

asyncMode

Modo de invocação assíncrona:

  • Stateless: invocação assíncrona sem estado

  • Stateful: invocação assíncrona com estado

Stateful

Não. Registrado apenas para invocações assíncronas.

retryCount

Número de novas tentativas.

0

Não. Registrado apenas para invocações assíncronas.

Recuperar logs

Para recuperar logs, são necessários índices. O console do Function Compute configura os índices automaticamente. Após a indexação, use instruções SQL no console do Simple Log Service para pesquisar e filtrar requisições no seu Logstore. Especifique o tópico para limitar os resultados aos logs de métricas no nível de requisição.

Por exemplo, para encontrar requisições com tempo de execução superior a 1 segundo, use esta instrução SQL.

__topic__: "FCRequestMetrics:/f1" AND qualifier: q1 and operation: InvokeFunction and durationMs>1000

Para sintaxe avançada de consulta, consulte Guia rápido de consulta e análise.

Criar um painel personalizado

Para criar um gráfico com tempo (t) no eixo x e valores de métrica no eixo y, use uma instrução SQL como esta.

__topic__: "FCRequestMetrics:/f1" AND qualifier: q1 and operation: InvokeFunction | select __time__ - __time__ % 60 as t, count(*) as invocations, avg(durationMs) as avgDurationMs group by t order by t 

Para mais informações sobre a criação de painéis personalizados, consulte Criar um painel.