【问题标题】:aws-xray-sdk on a lambda functionlambda 函数上的 aws-xray-sdk
【发布时间】:2019-04-03 17:27:34
【问题描述】:

我发现我可以通过选中一个复选框(或设置 Tracing:如果使用 SAM,则设置为 Active)对我的 lambda 函数启用 X 射线跟踪。 这增加了高级日志记录。

如果我想要更详细的日志记录,我的理解是我需要添加:

from aws_xray_sdk.core import xray_recorder
from aws_xray_sdk.core import patch_all
patch_all()

但是,xry sdk 不是 lambda 的一部分。显然,其中一种解决方案是使用pip install aws-xray-sdk -t . 安装它,但这会在函数代码中增加 42Mb。

是否有替代解决方案? 谢谢

【问题讨论】:

  • 在添加 X-Ray SDK 之前,您的原始捆绑包大小是多少?如果这个单模块设计对您的功能代码产生了很大的开销,您可以在 SDK repo github.com/aws/aws-xray-sdk-python 使用您的用例打开一个问题,以便正确解决它。

标签: python-3.x amazon-web-services aws-lambda aws-xray


【解决方案1】:

不幸的是,X-Ray Python SDK 是作为单个包编写的,目前没有变通办法来减小有效负载大小。

【讨论】:

  • 这只适用于 Python 对吧?像 nodejs 和 java 这样的其他运行时是否包含在 lambda 中?我在哪里可以阅读更多关于此的内容?我在 aws 文档中找不到它
【解决方案2】:

您可以使用 lambda 层将 X-Ray SDK 烘焙到您的运行时,以使您的函数代码保持较小。查看更多关于 lambda 层的详细信息https://docs.aws.amazon.com/lambda/latest/dg/configuration-layers.html。如果您对使用图层有其他顾虑,请告诉我。

【讨论】:

  • 这就是我最终做的 - 我只是希望有一个更简单的方法,谢谢
猜你喜欢
  • 1970-01-01
  • 2020-11-12
  • 1970-01-01
  • 2023-01-30
  • 2020-02-24
  • 2015-09-30
  • 2017-10-03
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多