gpt4 book ai didi

python - AWS X射线 : How to check if Xray Segment is open?

转载 作者:行者123 更新时间:2023-12-01 01:39:47 38 4
gpt4 key购买 nike

要创建子分段 aws-xray 需要打开有效分段。默认情况下,远程 lambda 执行会为您打开一个段,您只需添加一个子段,但在本地运行时,我们需要在添加子段之前手动打开段。

我可以将东西放在 try- except block 中,以便仅当段可用时才启动子段,但是是否有任何方法可以检查段是否打开。

现在正在处理这个:

try:
xray_recorder.current_segment()
except:
xray_recorder.begin_segment(self.segment_name)

最佳答案

没有专门的方法来检查是否存在开放段/子段,但您发布的代码片段肯定运行良好。

在本地测试 Lambda 函数的更好方法是模仿 Lambda 容器行为,以便您检测的 Lambda 函数在本地和实际 Lambda 中的行为完全相同。

您可以在此处查看源代码 https://github.com/aws/aws-xray-sdk-python/blob/master/aws_xray_sdk/core/lambda_launcher.py#L24 。基本上,Lambda 容器将设置环境变量 LAMBDA_TASK_ROOT,以便 SDK 知道它“在 Lambda 内部运行”并基于 https://github.com/aws/aws-xray-sdk-python/blob/master/aws_xray_sdk/core/lambda_launcher.py#L94 创建外观段。 。您可以将跟踪 header 设置为不对任何子分段进行采样,这样 SDK 就不会生成数据。

这取决于您本地测试的目的。解决方案可能会有所不同,具体取决于您是否想要 stub X-Ray SDK 来测试您的功能,或者想要测试 X-Ray 仪器并需要在 X-Ray 控制台上查看实际数据。

关于python - AWS X射线 : How to check if Xray Segment is open?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52002849/

38 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com