

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

# Monitoraggio per Lambda SnapStart
<a name="snapstart-monitoring"></a>

È possibile monitorare le funzioni Lambda SnapStart utilizzando Amazon CloudWatch, AWS X-Ray e l'[Accesso ai dati di telemetria in tempo reale per le estensioni tramite l'API Telemetry](telemetry-api.md).

**Nota**  
Le [variabili di ambiente](configuration-envvars.md#configuration-envvars-runtime) `AWS_LAMBDA_LOG_GROUP_NAME` e `AWS_LAMBDA_LOG_STREAM_NAME` non sono disponibili nelle funzioni Lambda SnapStart.

## Informazioni sul comportamento di registrazione e fatturazione con SnapStart
<a name="snapstart-cloudwatch"></a>

Esistono alcune differenze con il formato del [flusso di log di CloudWatch](monitoring-cloudwatchlogs.md) per le funzioni SnapStart:
+ **Log di inizializzazione**: quando viene creato un nuovo ambiente di esecuzione, il `REPORT` non include il campo `Init Duration`. Questo perché Lambda inizializza le funzioni SnapStart quando si crea una versione anziché durante l'invocazione della funzione. Per le funzioni SnapStart, il campo `Init Duration` è nel record `INIT_REPORT`. Questo record mostra i dettagli della durata di [Fase di init](lambda-runtime-environment.md#runtimes-lifecycle-ib), inclusa la durata di eventuali [hook di runtime](snapstart-runtime-hooks.md) `beforeCheckpoint`.
+ **Log di invocazione**: quando viene creato un nuovo ambiente di esecuzione, il `REPORT` include i campi `Restore Duration` e `Billed Restore Duration`:
  + `Restore Duration`: il tempo impiegato da Lambda per ripristinare uno snapshot, caricare il runtime (JVM) ed eseguire qualsiasi hook di runtime . Il processo di ripristino degli snapshot può includere il tempo dedicato ad attività esterne alla MicroVM. Questo tempo non è riportato in `Restore Duration`.
  + `Billed Restore Duration`: il tempo impiegato da Lambda per ripristinare uno snapshot, caricare il runtime (JVM) ed eseguire qualsiasi hook di runtime .

**Nota**  
Come per tutte le funzioni Lambda, i costi di durata si applicano al codice eseguito nell'handler delle funzioni. Per le funzioni SnapStart, i costi di durata si applicano anche al codice di inizializzazione dichiarato all'esterno dell'handler, al tempo necessario per il caricamento del runtime e a qualsiasi codice eseguito in un [hook di runtime](snapstart-runtime-hooks.md).

La durata dell'avviamento a freddo è la somma di `Restore Duration` e `Duration`.

L'esempio seguente è una query Lambda Insights che restituisce i percentili di latenza per le funzioni SnapStart. Per ulteriori informazioni sulle query Lambda Insights, consulta [Esempio di flusso di lavoro utilizzando query per risolvere i problemi di una funzione](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
```

## Tracciamento attivo X-Ray per SnapStart
<a name="snapstart-xray"></a>

È possibile utilizzare [X-Ray](services-xray.md) per tracciare le richieste alle funzioni Lambda SnapStart. I sottosegmenti X-Ray per le funzioni SnapStart presentano alcune differenze:
+ Non esiste un sottosegmento `Initialization` per le funzioni SnapStart.
+ Il sottosegmento mostra il tempo impiegato da Lambda per ripristinare uno snapshot, caricare il runtime (JVM) ed eseguire qualsiasi hook di runtime . Il processo di ripristino degli snapshot può includere il tempo dedicato ad attività esterne alla MicroVM. Questa volta è riportato nel segmento secondario `Restore`. Non ti viene addebitato il tempo trascorso fuori dalla microVM per il ripristino di una snapshot.

## Eventi dell'API di telemetria per SnapStart
<a name="snapstart-telemetry"></a>

Lambda invia i seguenti eventi SnapStart all'[API di telemetria](telemetry-api.md):
+ [`platform.restoreStart`](telemetry-schema-reference.md#platform-restoreStart): mostra l'ora in cui è iniziata la [fase `Restore`](lambda-runtime-environment.md#runtimes-lifecycle-restore).
+ [`platform.restoreRuntimeDone`](telemetry-schema-reference.md#platform-restoreRuntimeDone): indica se la fase `Restore` è riuscita correttamente. Lambda genera questo messaggio quando il runtime invia una richiesta API di runtime `restore/next`. Ci sono tre stati possibili: riuscito, errore e timeout.
+ [`platform.restoreReport`](telemetry-schema-reference.md#platform-restoreReport): mostra quanto è durata la fase `Restore` e quanti millisecondi sono stati fatturati durante questa fase.

## Parametri di Gateway Amazon API e della funzione URL
<a name="snapstart-metrics"></a>

Se crei un'API Web [utilizzando Gateway API](services-apigateway.md), puoi utilizzare il parametro [IntegrationLatency](https://docs.aws.amazon.com/apigateway/latest/developerguide/api-gateway-metrics-and-dimensions.html) per misurare la latenza end-to-end (il tempo che intercorre tra il momento in cui Gateway API inoltra una richiesta al backend e il momento in cui riceve una risposta dal backend).

Se utilizzi [l'URL di una funzione Lambda](urls-configuration.md), puoi utilizzare il parametro [URLRequestLatency](urls-monitoring.md) per misurare la latenza end-to-end (il tempo che intercorre tra il momento in cui la funzione URL riceve una richiesta e il momento in cui restituisce una risposta).