AWS Nodejs Lambda函数中用于dynamodb流的分布式跟踪



需要在使用NodeJs构建的AWS Lambda函数中实现分布式跟踪。此lambda函数将作为dynamodb流的一部分执行。在dynamodb文档中,我们存储了X-B3-TraceIdX-B3-SpanId。是否有任何方法可以指示Lambda函数使用这些参数并记录日志以支持分布式跟踪需求?

实现这一点的一种方法是从lambda应用程序中初始化XRay客户端,并向当前段添加注释。一个示例伪代码如下所示。
// Initialize X-ray AWS SDK
var AWSXRay = require('aws-xray-sdk-core')
// Assuming xb3_traceId and xb3_spanId are being retrieved from stream record
// set xray tracing
// custom annotation to find trace by custom traceId.
let segment = AWSXRay.getSegment()
segment.addAnnotation('X-B3-TraceId', record.xb3_traceId)
segment.addAnnotation('X-B3-SpanId', record.xb3_spanId)

最新更新