You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Spring Boot 3集成Micrometer后如何继续使用B3追踪头?

继续使用B3追踪头的配置方案

因为你已经引入了micrometer-tracing-bridge-brave依赖,Brave作为底层追踪实现,只需通过以下配置即可切换回B3格式的追踪头:

1. 配置文件方式(推荐)

在application.yml或application.properties中添加以下配置:

基础配置(启用B3传播)

micrometer:
  tracing:
    propagation:
      type: B3

如果需要同时兼容B3和W3C Traceparent格式(方便过渡),可以设置为:

micrometer:
  tracing:
    propagation:
      type: B3,W3C

细粒度B3配置(可选)

如果需要使用B3单头格式(比如x-b3: traceId-spanId-sampled),或者调整采样头的行为,补充Brave的专属配置:

brave:
  propagation:
    type: B3
    b3:
      single: true # 启用单头格式,默认false为分离头格式

2. 代码自定义配置(按需使用)

如果需要更灵活的自定义传播规则,可以创建配置类注入Brave的传播工厂:

import brave.propagation.B3Propagation;
import brave.propagation.Propagation;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;

@Configuration
public class TracingConfiguration {

    @Bean
    public Propagation.Factory propagationFactory() {
        // 标准分离式B3头(x-b3-traceid、x-b3-spanid等)
        return B3Propagation.FACTORY;
        
        // 若要启用单头格式,替换为以下代码:
        // return B3Propagation.newFactoryBuilder()
        //         .singleFormatEnabled(true)
        //         .build();
    }
}

验证配置生效

发起请求时携带原有的B3头(x-b3-traceid、x-b3-spanid),查看应用日志中的traceId/spanId是否与传入值一致,即可确认配置生效。

内容的提问来源于stack exchange,提问作者xMilos

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.30 20:57:27