Puede monitorear las funciones de Lambda SnapStart con Amazon CloudWatch, AWS X-Ray y la Acceso a datos de telemetría en tiempo real para extensiones mediante la API de telemetría.
nota
Las variables de entorno AWS_LAMBDA_LOG_GROUP_NAME
y AWS_LAMBDA_LOG_STREAM_NAME
no están disponibles en las funciones de Lambda SnapStart.
Comprenda el comportamiento de registro y facturación con SnapStart
Hay algunas diferencias con el formato de flujo de registro de CloudWatch para las funciones de SnapStart:
-
Registros de inicialización: cuando se crea un nuevo entorno de ejecución, el
REPORT
no incluye el campoInit Duration
. Esto se debe a que Lambda inicializa las funciones de SnapStart cuando se crea una versión, en lugar de durante la invocación de la función. Para las funciones de SnapStart, el campoInit Duration
está en el registroINIT_REPORT
. Este registro muestra los detalles de Fase "init", lo que incluye la duración de cualquier enlace de tiempo de ejecución debeforeCheckpoint
. -
Registros de invocación: cuando se crea un nuevo entorno de ejecución, el
REPORT
incluye los camposRestore Duration
yBilled Restore Duration
:-
Restore Duration
: el tiempo que tarda Lambda en restaurar una instantánea, cargar el tiempo de ejecución y ejecutar cualquier enlace de tiempo de ejecución posterior a la restauración. El proceso de restauración de instantáneas puede incluir el tiempo dedicado a actividades fuera de la micro VM. Este tiempo se informa enRestore Duration
. -
Billed Restore Duration
: el tiempo que tarda Lambda en cargar el tiempo de ejecución y ejecutar cualquier enlace de tiempo de ejecución posterior a la restauración.
-
nota
Como ocurre con todas las funciones de Lambda, los cargos por duración se aplican al código que se ejecuta en el controlador de funciones. Para las funciones de SnapStart, también se aplican cargos por duración al código de inicialización declarado fuera del controlador, al tiempo que tarda en cargarse el entorno de ejecución y a cualquier código que se ejecute en un enlace del tiempo de ejecución.
La duración del arranque en frío es la suma de Restore Duration
+ Duration
.
El siguiente ejemplo es una consulta de Lambda Insights que devuelve los percentiles de latencia de las funciones de SnapStart. Para obtener más información sobre las consultas de Lambda Insights, consulte Ejemplo de flujo de trabajo mediante consultas para solucionar problemas de una función.
filter @type = "REPORT"
| parse @log /\d+:\/aws\/lambda\/(?<function>.*)/
| parse @message /Restore Duration: (?<restoreDuration>.*?) ms/
| stats
count(*) as invocations,
pct(@duration+coalesce(@initDuration,0)+coalesce(restoreDuration,0), 50) as p50,
pct(@duration+coalesce(@initDuration,0)+coalesce(restoreDuration,0), 90) as p90,
pct(@duration+coalesce(@initDuration,0)+coalesce(restoreDuration,0), 99) as p99,
pct(@duration+coalesce(@initDuration,0)+coalesce(restoreDuration,0), 99.9) as p99.9
group by function, (ispresent(@initDuration) or ispresent(restoreDuration)) as coldstart
| sort by coldstart desc
Seguimiento activo de X-Ray para SnapStart
Puede usar X-Ray para rastrear las solicitudes a las funciones de Lambda SnapStart. Hay algunas diferencias con los subsegmentos de X-Ray de las funciones SnapStart:
-
No hay ningún subsegmento de
Initialization
para las funciones SnapStart. -
El subsegmento
Restore
muestra el tiempo que tarda Lambda en restaurar una instantánea, cargar el tiempo de ejecución y ejecutar cualquier enlace de tiempo de ejecución posterior a la restauración. El proceso de restauración de instantáneas puede incluir el tiempo dedicado a actividades fuera de la micro VM. Esta vez se informa en el subsegmentoRestore
. No se le cobrará por el tiempo que pase fuera de la micro VM para restaurar una instantánea.
Eventos de la API de telemetría para SnapStart
Lambda envía los siguientes eventos de SnapStart a API de telemetría:
-
platform.restoreStart: muestra la hora en que comenzó la fase Restore.
-
platform.restoreRuntimeDone: muestra si la fase
Restore
se ha realizado correctamente. Lambda envía este mensaje cuando el tiempo de ejecución envía una solicitud de APIrestore/next
de tiempo de ejecución. Hay tres estados posibles: éxito, error y tiempo de espera agotado. -
platform.restoreReport: muestra cuánto duró la fase
Restore
y cuántos milisegundos se le facturaron durante esta fase.
Métricas de URL de función y Amazon API Gateway
Si crea una API web con API Gateway, puede utilizar la métrica de IntegrationLatency para medir la latencia completa (el tiempo transcurrido entre el momento en que API Gateway transmite una solicitud al backend y el momento en que recibe una respuesta del backend).
Si utiliza la URL de función de Lambda, puede utilizar la métrica URLRequestLatency para medir la latencia completa (el tiempo transcurrido entre el momento en que la URL de función recibe una solicitud y el momento en que la URL de función devuelve una respuesta).