SpringCloud 传播额外的字段
2023-12-01 15:43 更新
有时您需要传播额外的字段,例如请求ID或备用跟踪上下文。例如,如果您处于Cloud Foundry环境中,则可能要传递请求ID,如以下示例所示:
// when you initialize the builder, define the extra field you want to propagate Tracing.newBuilder().propagationFactory( ExtraFieldPropagation.newFactory(B3Propagation.FACTORY, "x-vcap-request-id") ); // later, you can tag that request ID or use it in log correlation requestId = ExtraFieldPropagation.get("x-vcap-request-id");
您可能还需要传播未使用的跟踪上下文。例如,您可能处于Amazon Web服务环境中,但没有向X-Ray报告数据。为了确保X射线可以正确共存,请传递其跟踪标头,如以下示例所示:
tracingBuilder.propagationFactory( ExtraFieldPropagation.newFactory(B3Propagation.FACTORY, "x-amzn-trace-id") );
在Spring Cloud Sleuth中,跟踪构建器
Tracing.newBuilder()
的所有元素都定义为beans。因此,如果您要传递自定义PropagationFactory
,则足以创建该类型的bean,我们将在Tracing
bean中进行设置。
以上内容是否对您有帮助:
更多建议: