测量 AWS Lambda 启动持续时间

bir*_*aum 2 amazon-web-services aws-lambda aws-api-gateway

我目前正在收集和记录我的函数的性能指标,我缺少的唯一指标是启动持续时间(我的函数非常大,压缩了大约 35MB)。我真的需要知道启动需要多长时间,更重要的是,它发生的频率(我感觉它发生的频率更高,因为我的并发执行限制已经提高)。

有没有办法在 Lambda 中检索这些信息?或者有人可以想到通过例如映射模板传递 API 网关调用的当前时间戳的可能性,以便我可以自己计算启动时间?

小智 8

AWS 最近在 cloudwatch 日志中引入了Init Duration以及 Billed Duration 日志,用于在实际调用开始之前测量冷启动 lambda。

从 Lambda 日志流中的“报告”部分

这是来自我的一个 lambda 的示例日志 -

Duration: 1200.50 ms 
Billed Duration: 1300 ms 
Memory Size: 3008 MB 
Max Memory Used: 308 MB 
Init Duration: 4317.73 ms
Run Code Online (Sandbox Code Playgroud)


小智 7

在 Log Insights Cloudwatch 中尝试使用 Lambda 函数:

fields @timestamp, @initDuration

    | filter @type = "REPORT"
    | sort @timestamp desc
Run Code Online (Sandbox Code Playgroud)