Surveillance pour Lambda SnapStart - AWS Lambda

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

Surveillance pour Lambda SnapStart

Vous pouvez surveiller vos SnapStart fonctions Lambda à l'aide d'Amazon CloudWatch, AWS X-Ray, et du. Accès aux données de télémétrie en temps réel pour les extensions à l'aide de la télémétrie API

Note

Les variables AWS_LAMBDA_LOG_GROUP_NAME d'AWS_LAMBDA_LOG_STREAM_NAMEenvironnement et ne sont pas disponibles dans les fonctions Lambda SnapStart .

CloudWatch pour SnapStart

Il existe quelques différences avec le format du flux de CloudWatch log pour les SnapStart fonctions :

  • Journaux d'initialisation – Lorsqu'un nouvel environnement d'exécution est créé, le REPORT n'inclut pas le champ Init Duration. Cela est dû au fait que Lambda initialise les SnapStart fonctions lorsque vous créez une version plutôt que lors de l'appel de fonctions. Pour SnapStart les fonctions, le Init Duration champ se trouve dans l'INIT_REPORTenregistrement. Cet enregistrement indique les détails de la durée du Phase d’initialisation, y compris la durée de tout hook d'exécution beforeCheckpoint.

  • Journaux d'invocation – Lorsqu'un nouvel environnement d'exécution est créé, le REPORT inclut les champs Restore Duration et Billed Restore Duration :

    • Restore Duration : le temps nécessaire à Lambda pour restaurer un instantané, charger l'exécution (JVM) et exécuter les éventuels hooks d'exécution afterRestore. Le processus de restauration des instantanés peut inclure du temps consacré à des activités en dehors de la MicroVM. Ce temps est indiqué dans Restore Duration.

    • Billed Restore Duration : le temps nécessaire à Lambda pour charger l'exécution (JVM) et exécuter les éventuels hooks d'exécution afterRestore. Le temps nécessaire à la restauration d'un instantané ne vous est pas facturé.

Note

Les frais de durée s'appliquent au code qui s'exécute dans le gestionnaire de fonction, au code d'initialisation déclaré en dehors du gestionnaire, au temps nécessaire au chargement de l'environnement d'exécution (JVM) et à tout code exécuté dans un hook d'exécution. Pour plus d’informations, consultez SnapStart tarification.

La durée du démarrage à froid est la somme de Restore Duration + Duration.

L'exemple suivant est une requête Lambda Insights qui renvoie les percentiles de latence pour les fonctions. SnapStart Pour plus d'informations sur les demandes Lambda Insights, consultez Exemple de flux de travail utilisant des demandes pour dépanner une fonction.

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

X-Ray Active Tracing pour SnapStart

Vous pouvez utiliser X-Ray pour suivre les requêtes adressées aux fonctions Lambda SnapStart . Il existe quelques différences entre les sous-segments X-Ray relatifs aux SnapStart fonctions :

  • Il n'existe aucun Initialization sous-segment pour les SnapStart fonctions.

  • Le sous-segment Restore indique le temps nécessaire à Lambda pour restaurer un instantané, charger l'exécution (JVM) et exécuter les éventuels hooks d'exécution afterRestore. Le processus de restauration des instantanés peut inclure du temps consacré à des activités en dehors de la MicroVM. Cette heure est indiquée dans le sous-segment Restore. Le temps passé en dehors de la microVM pour restaurer un instantané ne vous est pas facturé.

Événements de l'API de télémétrie pour SnapStart

Lambda envoie les SnapStart événements suivants au : Télémétrie API

  • platform.restoreStart – Indique l'heure à laquelle la phase Restore a commencé.

  • platform.restoreRuntimeDone – Indique si la phase Restore a réussi. Lambda envoie ce message lorsque l'environnement d'exécution envoie une demande d'API d'exécution restore/next. Il existe trois statuts possibles : succès, échec et dépassement de délai.

  • platform.restoreReport – Indique la durée de la phase Restore et le nombre de millisecondes pour lesquelles vous avez été facturé pendant cette phase.

Métriques de l'URL de la fonction et de l'Amazon API Gateway

Si vous créez une API Web à l'aide d'API Gateway, vous pouvez utiliser la IntegrationLatencymétrique pour mesurer la end-to-end latence (le temps entre le moment où API Gateway transmet une demande au backend et le moment où il reçoit une réponse du backend).

Si vous utilisez une URL de fonction Lambda, vous pouvez utiliser la UrlRequestLatencymétrique pour mesurer la end-to-end latence (le temps entre le moment où l'URL de la fonction reçoit une demande et le moment où l'URL de la fonction renvoie une réponse).