Todos los productos
Search
Centro de documentos

Function Compute:Registros de métricas a nivel de solicitud

Última actualización: Sep 06, 2026

Las métricas a nivel de solicitud ofrecen una visión más profunda de cada invocación de función y le ayudan a comprender el rendimiento de sus funciones. Utilice estas métricas para detectar y localizar problemas rápidamente, así como para analizar los cuellos de botella de la aplicación. Habilite las métricas a nivel de solicitud para gestionar y optimizar mejor sus aplicaciones de funciones.

Qué son las métricas a nivel de solicitud

Las métricas a nivel de solicitud resumen el estado de ejecución de cada solicitud de función. Cuando se habilitan, el sistema recopila métricas de cada ejecución de función —incluidas las de rendimiento, excepciones y trazabilidad— y las entrega al logstore que seleccionó durante la configuración de registros.

  • Métricas de rendimiento: uso de memoria, tiempo de ejecución de la función, tiempo de inicialización, información de arranque en frío, entre otras.

  • Métricas de excepciones: indican si la ejecución terminó con errores e incluyen los detalles del error.

  • Métricas de trazabilidad: duración de la ejecución en rutas clave, estado del muestreo de trazabilidad distribuida y, para funciones HTTP, la ruta, el código de estado y la dirección IP del cliente.

Una vez habilitadas las métricas a nivel de solicitud, Function Compute entrega las métricas de ejecución de cada solicitud a su logstore con el siguiente 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

Escenarios

  • Consulte los detalles de ejecución de las funciones, las métricas de rendimiento y la información de errores mediante las métricas de solicitud.

    La consola proporciona una lista de solicitudes basada en las métricas a nivel de solicitud. Utilice esta interfaz para consultar la información detallada de cada solicitud, incluido el estado de ejecución, el ID de instancia, la duración de la ejecución, el uso de memoria y los registros de solicitud.

    En la pestaña Logs de la página de detalles de la función, seleccione la subpestaña Invocation Requests para consultar la lista de solicitudes. Los filtros ubicados arriba de la lista incluyen Show logs only for the current version or alias, Show only function errors, Show only client errors y Show only cold start requests.

    Nota

    Es posible consultar la lista de solicitudes sin habilitar las métricas a nivel de solicitud, pero los datos pueden ser imprecisos en los siguientes escenarios.

    • Cuando aparecen varios RequestId idénticos de forma repetida —algo común en los reintentos de invocaciones asíncronas—, no es posible localizar los registros de una solicitud específica.

    • En entornos de runtime personalizado o de imagen personalizada, si su código imprime tanto FC Invoke Start RequestId: xxx como FC Invoke End RequestId: xxx, una misma invocación aparecerá dos veces en la lista de solicitudes.

  • Aproveche las métricas de solicitud para búsquedas personalizadas y para construir paneles personalizados.

    Las métricas de solicitud se entregan a su logstore en formato key:val. Cree paneles personalizados según sus necesidades de negocio. Para obtener instrucciones, consulte Create a dashboard.

Notas

  • Alcance

    Los registros de métricas a nivel de solicitud corresponden a una configuración a nivel de función. Una vez habilitados, se aplican a la función actual y cada ejecución genera una entrada de registro.

  • Costo

    La entrega de registros a Simple Log Service genera cargos de almacenamiento. Para conocer los detalles de precios, consulte Precios.

Habilitar las métricas a nivel de solicitud

Habilitar las métricas a nivel de solicitud en la consola

Requisitos previos

Procedimiento

  1. Inicie sesión en la consola de Function Compute. En el panel de navegación izquierdo, seleccione Function Management > Functions.

  2. En la barra de menú superior, seleccione una región. En la página Functions, haga clic en la función de destino.

  3. En la página de configuración de la función, seleccione la pestaña Configuration.

  4. Busque Advanced Settings y haga clic en Modify a su derecha. En el panel Advanced Configuration, vaya a la sección Logging, habilite Instance-level Metrics y, a continuación, haga clic en Deploy.

    A continuación se describen los elementos de configuración principales. Mantenga el resto de los ajustes con sus valores predeterminados.

    Elemento de configuración

    Descripción

    Valor de ejemplo

    Logging

    Define si los registros de invocación de la función se almacenan en Simple Log ServiceSLS. Para obtener más información, consulte Configure logging.

    Enabled

    Log project

    Seleccione un proyecto de registros existente.

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

    Logstore

    Seleccione un logstore existente.

    function-log

    Log segmentation rule

    Define si se habilita la segmentación de registros. Si se habilita, Function Compute divide los registros en varios segmentos según la regla y escribe cada segmento en SLS.

    Enabled

    Request-level metrics

    Define si se recopilan métricas a nivel de solicitud. Si se habilita, se recopilan las métricas de cada invocación de función y se entregan al logstore especificado en la configuración de registros.

    Enabled

    Instance-level metrics

    Define si se habilitan las métricas a nivel de instancia. Si se habilita, las métricas de instancia se entregan al logstore especificado en la configuración de registros.

    Enabled

Habilitar las métricas a nivel de solicitud con Serverless Devs

Requisitos previos

Install and configure Serverless Devs

Procedimiento

  1. Cree un directorio de código con la siguiente estructura.

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

    En este ejemplo, el campo enableRequestMetrics configura las métricas a nivel de solicitud. Antes de habilitarlo, active el registro de eventos y establezca logstore y project con un logstore y un proyecto de registros existentes en su cuenta.

    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. Ejecute el siguiente comando para desplegar la aplicación.

    sudo s deploy -y

    Una vez completado el despliegue, inicie sesión en la consola de Function Compute para confirmar que las métricas a nivel de solicitud están habilitadas en la función desplegada.

Consulta de registros

Formato de los registros

Los registros de métricas a nivel de solicitud utilizan el formato de tema: FCRequestMetrics:/functionName. En Simple Log Service, utilice la condición de consulta __topic__: "FCRequestMetrics:/functionName" para filtrar todos los registros de métricas a nivel de solicitud. Para obtener más información, consulte Quick guide to querying and analysis.

Campos de métricas

Las métricas a nivel de solicitud registran la siguiente información.

Nombre de la métrica

Descripción

Valor de ejemplo

¿Se registra en cada invocación?

functionName

Nombre de la función.

my-function

Sí

versionId

Nombre de la versión.

12

Sí

qualifier

Alias del servicio. El valor predeterminado es LATEST.

prod

Sí

requestId

ID de la solicitud.

db72ce53-ccbe-4216-af55-642622e01494

Sí

operation

Nombre de la acción.

InvokeFunction

Sí

invocationType

Existen dos tipos de llamada.

Sync: llamada síncrona

Async: invocación asíncrona

Sync

Sí

memoryMB

Límite de memoria de la función.

512

Sí

memoryUsageMB

Memoria consumida durante la ejecución de la función.

410

Sí

durationMs

Tiempo de ejecución de la solicitud.

20.20

Sí

isColdStart

Indica si se trata de un arranque en frío.

Nota

Un arranque en frío ocurre cuando Function Compute recibe una solicitud, pero no dispone de ninguna instancia de función lista para procesarla. El sistema debe crear una nueva instancia, descargar el código e inicializar el entorno de ejecución.

Se define como solicitud de arranque en frío aquella que atraviesa todo el proceso de creación de instancia, descarga de código e inicialización del runtime.

Function Compute optimiza los arranques en frío mediante el precalentamiento de instancias. Si llega una solicitud mientras se crea una instancia y encuentra una instancia precalentada lista, no se considera un arranque en frío.

false

Sí

instanceEvent

Evento de instancia. Actualmente solo ColdStart, registrado para las solicitudes de arranque en frío.

ColdStart

No

hasFunctionError

Indica si la ejecución de la función presentó un error.

false

Sí

errorType

Los errores de función se clasifican en los tres tipos siguientes:

  • FunctionOOMError: falta de memoria

  • FunctionTimeoutError: tiempo de ejecución agotado

  • FunctionUnhandledError: excepción no controlada

FunctionUnhandledError

No. Solo se registra cuando hasFunctionError:true.

invokeFunctionLatencyMs

Tiempo de ejecución de la función.

99.00

Sí. Se registra en cada invocación.

traceContext

Contexto de trazabilidad distribuida.

371d3ff242fcee9:371d3ff242fcee9:0:1

No. Solo se registra cuando se configura la trazabilidad distribuida.

isSampled

Indica si la solicitud se incluyó en el muestreo de trazabilidad distribuida.

true

No. Solo se registra cuando se configura la trazabilidad distribuida.

resourceMode

Tipo de instancia utilizado para la solicitud:

  • OnDemand: instancia bajo demanda

  • Provision: instancia aprovisionada

OnDemand

Sí

instanceID

ID de la instancia.

c-65603d8c-37e1bf7123054a77****

Sí

hostname

Nombre de host de la instancia.

c-65603d8c-37e1bf7123054a77****

Sí

ipAddress

Dirección IP de la instancia.

Nota: Esta es la IP interna que se usa para distinguir entre instancias, no la dirección IP pública.

21.0.XX.XX

Sí

activeInstances

Número de instancias activas.

1

Sí

activeInstancesPerFunction

Número de instancias activas para esta función.

1

Sí

scheduleLatencyMs

Latencia de programación. Es mayor durante los arranques en frío.

10.07

Sí

coldStartStartTimestamp

Marca de tiempo de inicio del arranque en frío.

1700806029167

No. Solo se registra durante los arranques en frío.

coldStartLatencyMs

Duración del arranque en frío.

487.65

No. Solo se registra durante los arranques en frío.

prepareCodeStartTimestamp

Marca de tiempo de inicio de la descarga de código. Marca de tiempo UNIX de 13 dígitos, con precisión de milisegundos.

1700806029167

No. Solo se registra durante los arranques en frío.

prepareCodeLatencyMs

Duración de la descarga de código.

0.18

No. Solo se registra durante los arranques en frío.

runtimeInitializationStartTimestamp

Marca de tiempo de inicio de la inicialización del runtime.

1700806029168

No. Solo se registra durante los arranques en frío.

runtimeInitializationMs

Duración de la inicialización del runtime.

487.37

No. Solo se registra durante los arranques en frío.

asyncAttemptStartTimestamp

En las invocaciones asíncronas, las ejecuciones con errores se reintentan hasta 3 veces de forma predeterminada.

Este parámetro es la marca de tiempo de inicio del reintento número ${retryCount}.

1700806028084

No. Solo se registra para invocaciones asíncronas.

asyncAttemptLatencyMs

En las invocaciones asíncronas, las ejecuciones con errores se reintentan hasta 3 veces de forma predeterminada.

Este parámetro es la duración del reintento número ${retryCount}.

1688.74

No. Solo se registra para invocaciones asíncronas.

asyncMode

Modo de invocación asíncrona:

  • Stateless: invocación asíncrona sin estado

  • Stateful: invocación asíncrona con estado

Stateful

No. Solo se registra para invocaciones asíncronas.

retryCount

Número de reintentos.

0

No. Solo se registra para invocaciones asíncronas.

Recuperar registros

Para recuperar registros se requieren índices. La consola de Function Compute los configura automáticamente. Una vez creados, utilice instrucciones SQL en la consola de Simple Log Service para buscar y filtrar solicitudes en su logstore. Especifique el tema para limitar los resultados a los registros de métricas a nivel de solicitud.

Por ejemplo, para encontrar solicitudes con un tiempo de ejecución superior a 1 segundo, utilice la siguiente instrucción SQL.

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

Para conocer la sintaxis avanzada de consultas, consulte Quick guide to querying and analysis.

Crear un panel personalizado

Para crear un gráfico con el tiempo (t) en el eje X y los valores de las métricas en el eje Y, utilice una instrucción SQL como la siguiente.

__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 obtener más información sobre la creación de paneles personalizados, consulte Create a dashboard.