

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
<a name="snapstart-monitoring"></a>

Vous pouvez surveiller vos fonctions Lambda SnapStart en utilisant Amazon CloudWatch, AWS X-Ray et l’API [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](telemetry-api.md).

**Note**  
Les [variables d'environnement](configuration-envvars.md#configuration-envvars-runtime) `AWS_LAMBDA_LOG_GROUP_NAME` et `AWS_LAMBDA_LOG_STREAM_NAME` ne sont pas disponibles dans les fonctions SnapStart Lambda.

## Comprendre le comportement de journalisation et de facturation avec SnapStart
<a name="snapstart-cloudwatch"></a>

Il existe quelques différences avec le format du [flux de journal CloudWatch](monitoring-cloudwatchlogs.md) pour les fonctions SnapStart :
+ **Journaux d’initialisation** – Lorsqu’un nouvel environnement d’exécution est créé, le `REPORT` n’inclut pas le champ `Init Duration`. C’est parce que Lambda initialise les fonctions SnapStart lorsque vous créez une version au lieu de le faire pendant l’invocation de la fonction. Pour les fonctions SnapStart, le champ `Init Duration` se trouve dans l’enregistrement `INIT_REPORT`. Cet enregistrement indique les détails de la durée du [Phase d’initialisation](lambda-runtime-environment.md#runtimes-lifecycle-ib), y compris la durée de tout [hook d’exécution](snapstart-runtime-hooks.md) `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 et exécuter les éventuels [hooks d’exécution](snapstart-runtime-hooks.md) après 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é dans `Restore Duration`.
  + `Billed Restore Duration` : le temps nécessaire à Lambda pour charger l’exécution et exécuter les éventuels [hooks d’exécution](snapstart-runtime-hooks.md) 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 fonctions SnapStart, les frais de durée s’appliquent également au code d’initialisation déclaré en dehors du gestionnaire, au temps de chargement de l’environnement d’exécution et à tout code s’exécutant dans un [hook d’exécution](snapstart-runtime-hooks.md).

La durée du démarrage à froid est la somme de `Restore Duration` \$1 `Duration`.

L’exemple suivant est une demande 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](monitoring-insights.md#monitoring-insights-queries).

```
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
```

## Suivi actif de X-Ray pour SnapStart
<a name="snapstart-xray"></a>

Vous pouvez utiliser [X-Ray](services-xray.md) pour suivre les demandes adressées aux fonctions Lambda SnapStart. Il existe quelques différences avec les sous-segments X-Ray pour les fonctions SnapStart :
+ Il n’existe aucun sous-segment `Initialization` pour les fonctions SnapStart.
+ Le sous-segment `Restore` indique le temps nécessaire à Lambda pour restaurer un instantané, charger l’exécution et exécuter les éventuels [hooks d’exécution](snapstart-runtime-hooks.md) après 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-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
<a name="snapstart-telemetry"></a>

Lambda envoie les événements SnapStart suivants à [API de télémétrie](telemetry-api.md) :
+ [`platform.restoreStart`](telemetry-schema-reference.md#platform-restoreStart) – Indique l’heure à laquelle la [phase `Restore` a commencé](lambda-runtime-environment.md#runtimes-lifecycle-restore).
+ [`platform.restoreRuntimeDone`](telemetry-schema-reference.md#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`](telemetry-schema-reference.md#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
<a name="snapstart-metrics"></a>

Si vous créez une API Web [à l’aide d’API Gateway](services-apigateway.md), vous pouvez utiliser la métrique [IntegrationLatency](https://docs.aws.amazon.com/apigateway/latest/developerguide/api-gateway-metrics-and-dimensions.html) pour mesurer la latence de bout en bout (le temps entre le moment où API Gateway relaie une demande au backend et celui où il reçoit une réponse du backend).

Si vous utilisez une [URL de la fonction Lambda](urls-configuration.md), vous pouvez utiliser la métrique [UrlRequestLatency](urls-monitoring.md) pour mesurer la latence de bout en bout (le temps entre le moment où l’URL de la fonction reçoit une demande et celui où l’URL de la fonction renvoie une réponse).