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
È 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.
Nota
Le variabili di ambiente 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
Esistono alcune differenze con il formato del flusso di log di CloudWatch per le funzioni SnapStart:
-
Log di inizializzazione: quando viene creato un nuovo ambiente di esecuzione, il
REPORTnon include il campoInit Duration. Questo perché Lambda inizializza le funzioni SnapStart quando si crea una versione anziché durante l'invocazione della funzione. Per le funzioni SnapStart, il campoInit Durationè nel recordINIT_REPORT. Questo record mostra i dettagli della durata di Fase di init, inclusa la durata di eventuali hook di runtimebeforeCheckpoint. -
Log di invocazione: quando viene creato un nuovo ambiente di esecuzione, il
REPORTinclude i campiRestore DurationeBilled 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 inRestore 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.
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.
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
È possibile utilizzare X-Ray per tracciare le richieste alle funzioni Lambda SnapStart. I sottosegmenti X-Ray per le funzioni SnapStart presentano alcune differenze:
-
Non esiste un sottosegmento
Initializationper 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
Lambda invia i seguenti eventi SnapStart all'API di telemetria:
-
platform.restoreStart: mostra l'ora in cui è iniziata la fase Restore.
-
platform.restoreRuntimeDone: indica se la fase
Restoreè riuscita correttamente. Lambda genera questo messaggio quando il runtime invia una richiesta API di runtimerestore/next. Ci sono tre stati possibili: riuscito, errore e timeout. -
platform.restoreReport: mostra quanto è durata la fase
Restoree quanti millisecondi sono stati fatturati durante questa fase.
Parametri di Gateway Amazon API e della funzione URL
Se crei un'API Web utilizzando Gateway API, puoi utilizzare il parametro IntegrationLatency 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, puoi utilizzare il parametro URLRequestLatency 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).