首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >AWS Lambda:识别冷启动

AWS Lambda:识别冷启动
EN

Stack Overflow用户
提问于 2017-11-01 18:09:39
回答 3查看 6.4K关注 0票数 16

是否有明确的方法来识别“冷启动”?或者是在Lambda本身的运行时,还是通过日志?我知道冷启动的特点是运行时间更长,这我可以看到,但我正在寻找一个明确的方式。如果这件事重要的话,我正在使用Node.js。

更新:下面有两个很好的答案,用于两个用例:-在lambda运行时识别冷启动。-从CloudWatch日志中识别冷启动。

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2017-11-01 18:45:39

如果您在NodeJS脚本的顶部添加了一些初始化代码,您将能够在代码中告诉它这是一个冷启动,如果您想要在日志中看到它,您就可以记录它。例如:

代码语言:javascript
复制
var coldStart = true;
console.log("This line of code exists outside the handler, and only executes on a cold start");


exports.myHandler = function(event, context, callback) {
  if (coldStart) {
    console.log("First time the handler was called since this function was deployed in this container");
  }
  coldStart = false;

   ...
   
  callback(...);
}

更新:

如果您只关心在日志中看到冷启动,那么Lambda现在会在用于冷启动的日志中记录一个额外的CloudWatch“Init工期”值。

票数 23
EN

Stack Overflow用户

发布于 2019-12-10 07:03:23

作为更新,AWS现在以"Init持续时间“的形式在Cloudwatch日志的Report部分中提供有关冷启动的可见信息。不受冷启动影响的调用将不包含在日志中。

持续时间: 1866.19 ms记帐持续时间: 1900 ms内存大小: 512 MB使用的最大内存:163MB Init持续时间: 2172.14 ms

票数 18
EN

Stack Overflow用户

发布于 2017-11-02 06:15:05

如果您正在查看CloudWatch日志,那么Lambda函数的每个LogGroup都代表一个单独的容器,因此该LogGroup的第一次调用就是冷启动。

票数 12
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/47061146

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档