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.
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 l’API de télémétrie
Note
Les variables AWS_LAMBDA_LOG_GROUP_NAME d'AWS_LAMBDA_LOG_STREAM_NAMEenvironnement et ne sont pas disponibles dans les fonctions Lambda SnapStart .
Comprendre le comportement de journalisation et de facturation avec SnapStart
Le format du flux de CloudWatch log pour les SnapStart fonctions présente quelques différences :
-
Journaux d’initialisation – Lorsqu’un nouvel environnement d’exécution est créé, le
REPORT
n’inclut pas le champInit Duration
. C'est parce 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, leInit Duration
champ se trouve dans l'INIT_REPORT
enregistrement. Cet enregistrement indique les détails de la durée du Phase d’initialisation, y compris la durée de tout hook d’exécutionbeforeCheckpoint
. -
Journaux d’invocation – Lorsqu’un nouvel environnement d’exécution est créé, le
REPORT
inclut les champsRestore Duration
etBilled Restore Duration
:-
Restore Duration
: le temps nécessaire à Lambda pour restaurer un instantané, charger le moteur d'exécution et exécuter tous les hooks d'exécution après la restauration. Le processus de restauration des instantanés peut inclure du temps consacré à des activités en dehors de la MicroVM. Ce temps est indiqué dansRestore Duration
. -
Billed Restore Duration
: le temps nécessaire à Lambda pour charger le moteur d'exécution et exécuter les éventuels hooks d'exécution après restauration.
-
Note
Comme pour toutes les fonctions Lambda, des frais de durée s’appliquent au code exécuté dans le gestionnaire de fonctions. Pour les SnapStart fonctions, les frais de durée s'appliquent également au code d'initialisation déclaré en dehors du gestionnaire, au temps nécessaire au chargement de l'exécution et à tout code exécuté dans un hook d'exécution.
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 . Les sous-segments X-Ray relatifs aux SnapStart fonctions présentent quelques différences :
-
Il n'existe aucun
Initialization
sous-segment pour les SnapStart fonctions. -
Le
Restore
sous-segment indique le temps nécessaire à Lambda pour restaurer un instantané, charger le moteur d'exécution et exécuter les éventuels hooks d'exécution après la restauration. 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-segmentRestore
. 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 : API de télémétrie
-
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écutionrestore/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).