有没有办法从 serverless.yml 为 Lambda 函数启用 X-Ray?我在文件中添加了 X-Ray 权限:
iamRoleStatements:
- Effect: "Allow"
Resource: "*"
Action:
- "xray:*"
Run Code Online (Sandbox Code Playgroud)
但是 Advanced Tracing 仍然需要在 AWS 控制台中手动启用。
我已经为我的lambda(Node.js)添加了X射线检测,并且可以在跟踪中看到它周围的所有服务,但仍然无法添加API网关将其调用到跟踪和服务地图.无论如何要做到这一点?
我需要两个不同的监听器来读取来自可读流的输入.他们似乎有竞争条件,我想确保我做对了......
当我使用.on('data')时 - 每个侦听器都返回相同的块并可以读取它.
当我使用.on('可读')时 - 第一个捕获事件的侦听器将从缓冲区读取,第二个侦听器将获得一个空缓冲区?
意思是当我有两个听众时,我不能使用.on('可读')事件?
是否有明确的方法来识别"冷启动"?在Lambda本身的运行时,还是通过日志?我知道冷启动的特点是运行时间更长,我实际上可以看到,但我正在寻找一种明确的切割方式.如果重要的话,我正在使用Node.js.
更新:对于两个用例,下面有两个很好的答案: - 在lambda运行时识别冷启动. - 从CloudWatch日志中识别冷启动.
我已经浏览了文档,但找不到关于 X 射线跟踪应该为 Lambda 函数执行(以及其他服务)添加多少延迟的明确声明。它应该是最小的,但由于它正在发送跟踪,因此预计会有一些延迟。
有人有数字吗?