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.
Sie können Ihre SnapStart Lambda-Funktionen mit Amazon CloudWatch AWS X-Ray, und dem Zugriff auf Echtzeit-Telemetriedaten für Erweiterungen über die 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.
Verständnis des Protokollierungs- und Abrechnungsverhaltens mit 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 zu laden und alle Runtime-Hooks nach der Wiederherstellung 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 zu laden und alle Runtime-Hooks nach der Wiederherstellung auszuführen.
-
Anmerkung
Wie bei allen Lambda-Funktionen fallen Dauergebühren für Code an, der im Funktionshandler ausgeführt wird. Bei SnapStart Funktionen fallen Gebühren für die Dauer auch für Initialisierungscode an, der außerhalb des Handlers deklariert wurde, für die Zeit, die zum Laden der Laufzeit benötigt wird, und für jeden Code, der in einem Runtime-Hook ausgeführt wird.
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 Restore Untersegment zeigt die Zeit, die Lambda benötigt, um einen Snapshot wiederherzustellen, die Laufzeit zu laden und alle Runtime-Hooks nach der Wiederherstellung 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 im
Restore
-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).