Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.
Überwachung für Lambda SnapStart
Sie können Ihre SnapStart Lambda-Funktionen mit Amazon CloudWatch, AWS X-Ray, und dem Zugreifen auf Echtzeit-Telemetriedaten für Erweiterungen mithilfe der Telemetrie API überwachen.
Anmerkung
Die AWS_LAMBDA_LOG_STREAM_NAME
Umgebungsvariablen AWS_LAMBDA_LOG_GROUP_NAME und sind in SnapStart Lambda-Funktionen nicht verfügbar.
CloudWatch für SnapStart
Es gibt einige Unterschiede beim CloudWatch Logstream-Format für SnapStart Funktionen:
-
Initialisierungsprotokolle – Wenn eine neue Ausführungsumgebung erstellt wird, enthält
REPORT
das FeldInit Duration
nicht. Das liegt daran, dass Lambda SnapStart Funktionen initialisiert, wenn Sie eine Version erstellen, und nicht beim Funktionsaufruf. Bei SnapStart Funktionen befindet sich dasInit Duration
Feld im Datensatz.INIT_REPORT
Dieser Datensatz zeigt die Dauer von Init-Phase, einschließlich der Dauer allerbeforeCheckpoint
-Laufizeit-Hooks an. -
Aufrufprotokolle – Wenn eine neue Ausführungsumgebung erstellt wird, enthält
REPORT
die FelderRestore Duration
undBilled Restore Duration
:-
Restore Duration
: Die Zeit, die Lambda benötigt, um einen Snapshot wiederherzustellen, die Laufzeit (JVM) zu laden und alleafterRestore
-Laufzeit-Hooks auszuführen. Der Prozess der Wiederherstellung von Snapshots kann Zeit beinhalten, die für Aktivitäten außerhalb der MicroVM aufgewendet wird. Diese Zeit wird inRestore Duration
erfasst. -
Billed Restore Duration
: Die Zeit, die Lambda benötigt, um die Laufzeit (JVM) zu laden und alleafterRestore
-Hooks auszuführen. Die Zeit, die für die Wiederherstellung eines Snapshots benötigt wird, wird Ihnen nicht in Rechnung gestellt.
-
Anmerkung
Die Gebühren für die Dauer gelten für Code, der im Funktions-Handler ausgeführt wird, Initialisierungscode, der außerhalb des Handlers deklariert ist, die Zeit, die zum Laden der Laufzeit (JVM) benötigt wird, und Code, der in einem Laufzeit-Hook ausgeführt wird. Weitere Informationen finden Sie unter SnapStart Preisgestaltung.
Die Kaltstartdauer ist die Summe von Restore Duration
+ Duration
.
Das folgende Beispiel ist eine Lambda Insights-Abfrage, die die Latenzperzentile für Funktionen zurückgibt. SnapStart Weitere Informationen zu Lambda-Insights-Abfragen finden Sie unter Beispiel-Workflow mit Abfragen zur Fehlerbehebung einer Funktion.
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
Aktives X-Ray Tracing für SnapStart
Sie können X-Ray verwenden, um Anfragen an SnapStart Lambda-Funktionen zu verfolgen. Es gibt einige Unterschiede zu den X-Ray-Untersegmenten für SnapStart Funktionen:
-
Es gibt kein
Initialization
Untersegment für SnapStart Funktionen. -
Das Teilsegment
Restore
zeigt die Zeit an, die Lambda benötigt, um einen Snapshot wiederherzustellen, die Laufzeit (JVM) zu laden und vorhandeneafterRestore
-Laufzeit-Hooks auszuführen. Der Prozess der Wiederherstellung von Snapshots kann Zeit beinhalten, die für Aktivitäten außerhalb der MicroVM aufgewendet wird. Diese Zeit wird imRestore
-Untersegment erfasst. Die Zeit, die Sie außerhalb der microVM für die Wiederherstellung eines Snapshots aufwenden, wird Ihnen nicht in Rechnung gestellt.
Telemetrie-API-Ereignisse für SnapStart
Lambda sendet die folgenden SnapStart Ereignisse anTelemetrie API:
-
platform.restoreStart – Zeigt die Zeit an, zu der die Restore-Phase gestartet wurde.
-
platform.restoreRuntimeDone – Zeigt an, ob die
Restore
-Phase erfolgreich war. Lambda sendet diese Nachricht, wenn die Laufzeit einerestore/next
-Laufzeit-API-Anfrage sendet. Es gibt drei mögliche Status: erfolgreich, fehlgeschlagen und Timeout. -
platform.restoreReport – Zeigt an, wie lange die
Restore
-Phase gedauert hat und wie viele Millisekunden Ihnen während dieser Phase in Rechnung gestellt wurden.
Amazon-API-Gateway- und Funktions-URL-Metriken
Wenn Sie eine Web-API mit API Gateway erstellen, können Sie die IntegrationLatencyMetrik verwenden, um die end-to-end Latenz zu messen (die Zeit zwischen der Weiterleitung einer Anfrage an das Backend durch API Gateway und dem Empfang einer Antwort vom Backend).
Wenn Sie eine Lambda-Funktions-URL verwenden, können Sie die UrlRequestLatencyMetrik verwenden, um die end-to-end Latenz zu messen (die Zeit zwischen dem Empfang einer Anfrage durch die Funktions-URL und dem Zeitpunkt, zu dem die Funktions-URL eine Antwort zurückgibt).