监控 Lambda SnapStart - Amazon Lambda
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

监控 Lambda SnapStart

您可以使用 Ama CloudWatch zon 和,监控您的 Lambda SnapStart 函数。Amazon X-Ray Lambda 遥测 API

注意

AWS_LAMBDA_LOG_GROUP_NAMEAWS_LAMBDA_LOG_STREAM_NAME环境变量在 Lambda 函数 SnapStart 中不可用。

CloudWatch 对于 SnapStart

SnapStart 函数的CloudWatch 日志流格式有一些区别:

  • 初始化日志 – 创建新的执行环境时,REPORT 不会包含 Init Duration 字段。这是因为 Lambda 会在您创建版本时而不是在 SnapStart 函数调用期间初始化函数。对于 SnapStart 函数,该Init Duration字段在INIT_REPORT记录中。此记录显示 Init 阶段 的持续时间详细信息,包括任何 beforeCheckpoint 运行时挂钩的持续时间。

  • 调用日志 – 创建新的执行环境时,REPORT 会包括 Restore DurationBilled Restore Duration 字段:

    • Restore Duration:Lambda 恢复快照、加载运行时(JVM)和运行任何 afterRestore 运行时挂钩所花费的时间。恢复快照的过程可能包含在 MicroVM 之外的活动上花费的时间。Restore Duration 中报告了此时间。

    • Billed Restore Duration:Lambda 加载运行时(JVM)和运行任何 afterRestore 挂钩所花费的时间。您无需为还原快照所花费的时间付费。

注意

持续时间费用适用于在函数处理程序中运行的代码、在处理程序之外声明的初始化代码、运行时(JVM)加载所需的时间以及在运行时挂钩中运行的任何代码。有关更多信息,请参阅SnapStart 定价

冷启动持续时间为 Restore Duration + Duration 的总和。

以下示例是一个 Lambda Insights 查询,它返回函数的延迟百分位数。 SnapStart有关 Lambda Insights 查询的更多信息,请参阅 使用查询排除函数故障的示例工作流程

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

X-ray 主动追踪用于 SnapStart

您可以使用 X-Ray 来跟踪对 Lambda 函数 SnapStart 的请求。与 SnapStart 函数的 X-Ray 子分段有一些区别:

  • SnapStart 函数没有Initialization子段。

  • Restore 子分段会显示 Lambda 恢复快照、加载运行时系统(JVM)和运行任何 afterRestore 运行时系统挂钩所花费的时间。恢复快照的过程可能包含在 MicroVM 之外的活动上花费的时间。该时间在 Restore 子分段中报告。您无需为在 microVM 之外还原快照所花费的时间付费。

的遥测 API 事件 SnapStart

Lambda 将以下 SnapStart 事件发送到:遥测 API

Amazon API Gateway 和函数 URL 指标

如果您使用 API Gateway 创建 Web API,则可以使用该IntegrationLatency指标来衡量 end-to-end 延迟(API Gateway 将请求中继到后端到收到来自后端的响应之间的时间)。

如果您使用的是 Lambda 函数 URL,则可以使用该UrlRequestLatency指标来衡量 end-to-end 延迟(从函数 URL 收到请求到函数 URL 返回响应之间的时间)。