在 Spring Boot 3.1 项目上工作并使用 B3_MULTI 传播策略,我观察到以下行为:
让我担心的是,如果服务器一收到请求就记录新的SpanID,那么在这个请求中获取SpanId的目的是什么?
使用此 application.yml 配置的示例:
management:
tracing:
propagation:
type: B3_MULTI
并使用 postman 调用我的 Spring Boot 3.1 API 并使用这些标头:
X-B3-SpanId:97552541f44c6a8e X-B3-TraceId:affca7de79bdf483
我的应用程序日志包含:
... affca7de79bdf483 | 5631f587ff130771 ...
其中 5631f587ff130771 是一个新的 SpanID
为每个http请求创建一个新的span是正常/默认行为,因为处理http请求是您通常想要观察的单独操作。请检查 Brave 的关节跨度 功能并启用它(如果您需要的话):Boot#35165 和 docs。
management.tracing.brave.span-joining-supported=true