如何在 X-Ray 服务映射中链接 lambda 函数调用

len*_*wal 5 amazon-web-services aws-lambda aws-xray aws-step-functions

我想在 xray 服务映射中链接两个 lambda 函数调用,以可视化函数调用之间的连接并获得整体执行时间。我的 lambda 函数正在被 step 函数调用。启用主动跟踪时,我会在服务地图中看到各个功能,但它们之间没有连接。

_X_AMZN_TRACE_ID:包含跟踪头,其中包括采样决策、跟踪 ID 和父段 ID。(要了解有关这些属性的更多信息,请参阅跟踪标头。)如果 Lambda 在调用您的函数时收到跟踪标头,则该标头将用于填充 _X_AMZN_TRACE_ID 环境变量。如果未收到跟踪标头,Lambda 将为您生成一个。

https://docs.aws.amazon.com/lambda/latest/dg/lambda-x-ray.html

_X_AMZN_TRACE_ID 似乎包含相关信息。我的问题是,如何使用它在两个 lambda 函数调用(由 step 函数调用)之间建立连接?

小智 5

尚不支持 Step Functions X-Ray 跟踪上下文传播,因此如果 Step Functions 调用它们,则无法将您的 lambda 函数链接在一起。我们正在开发此功能,但目前没有预计到达时间。

  • 好吧,这很糟糕,因为阶跃函数可能是 X 射线最有用的少数东西之一 (2认同)

Poo*_*del 1

X-Ray 集成已添加到 AWS Step Function: https://aws.amazon.com/blogs/compute/introducing-aws-x-ray-new-integration-with-aws-step-functions/

您可以在创建新状态机时通过选择指定详细信息页面上的启用 X 射线跟踪来启用 X 射线跟踪。如果状态机从启用了 X-Ray 的上层服务获得调用,状态机会自动继续跟踪。对于状态机中的所有任务状态,子段将添加到跟踪中。