Quarkus原生AWS Lambda对接AWS X-Ray追踪异常问题咨询
Quarkus原生Lambda应用X-Ray追踪关联问题
我正尝试将Quarkus原生应用部署为AWS Lambda函数,配置其向AWS X-Ray提交追踪数据,但遇到了以下核心问题:
- 计划用OpenTelemetry API的
@WithSpan注解创建Span,该方式在常规应用中正常工作,但在Lambda环境中无法捕获父Span,推测与Header传播机制有关。 - 使用
quarkus-amazon-lambda扩展,通过Terraform配置Lambda追踪模式为Active:tracing_config { mode = "Active" } - 控制台测试Lambda时,虽能提交基础追踪数据,但手动创建的Span未被正确关联到Lambda的父追踪上下文:日志中第一个本地Span的
parentId为空,后续手动Span仅关联到这个本地Span,而非Lambda提供的顶层追踪上下文:START RequestId: 09603df8-91a8-4098-8a37-c6d4e15d03fc Version: $LATEST 15:41:04 INFO traceId=e1cb9f4b723b5f6c0d33dbdc26af86d2, parentId=, spanId=b2671df3374f3863, sampled=true [or.ac.op.la.LambdaService] (Lambda Thread (NORMAL)) Request ID: value1 15:41:04 INFO traceId=e1cb9f4b723b5f6c0d33dbdc26af86d2, parentId=b2671df3374f3863, spanId=7fcf32d3009c543d, sampled=true [or.ac.op.la.LambdaService] (Lambda Thread (NORMAL)) Here END RequestId: 09603df8-91a8-4098-8a37-c6d4e15d03fc - 尝试添加
opentelemetry-aws-xray依赖适配X-Ray ID生成规则,但无法完成原生编译:
同时试过相关文档和社区讨论中建议的IdGenerator配置,均无效果。<dependency> <groupId>io.opentelemetry.contrib</groupId> <artifactId>opentelemetry-aws-xray</artifactId> <version>1.32.0</version> </dependency> - 曾尝试引入AWS Distro for OpenTelemetry Collector层,同样未解决问题,目前已在Terraform中注释该配置:
layers = [ "arn:aws:lambda:${var.aws_region}:${var.account_no}:layer:aws-otel-java-agent-${var.lambda_architecture}-ver-1-32-0:1" ]
恳请针对上述问题提供可行的解决方案。
内容的提问来源于stack exchange,提问作者Skod
相关产品推荐
相关产品推荐

