OpenTelemetry指定透传Header格式

OpenTelemetry支持tracecontext、baggage、b3、b3multi、jaeger等多种透传格式,不同透传格式会在HTTP请求中设置不同格式的Header。本文为您介绍如何设置OpenTelemetry的透传格式。

OpenTelemetry支持的透传格式

默认情况下,OpenTelemetry使用的是tracecontext和baggage。

透传格式名称

格式

备注

tracecontext

traceparent : {version}-{trace-id}-{parent-id}-{trace-flags}

相关文档

baggage

-

相关文档

b3

b3: {TraceId}-{SpanId}-{SamplingState}-{ParentSpanId}

相关文档

b3multi

X-B3-TraceId: {TraceId}

X-B3-SpanId: {SpanId}

X-B3-ParentSpanId: {ParentSpanId}

X-B3-Sampled: {SamplingState}

相关文档

jaeger

uber-trace-id : {trace-id}:{span-id}:{parent-span-id}:{flags}

相关文档

xray

-

-

ottrace

-

-

none

-

-

设置透传格式

在启动应用时,有两种方式可以设置OpenTelemetry TraceId的透传格式:

  • 使用otel.propagators参数:-Dotel.propagators=tracecontext,baggage

    支持同时指定多种格式,使用英文半角逗号(,)分隔。

    -javaagent:/path/to/opentelemetry-javaagent.jar
     -Dotel.resource.attributes=service.name=<service-name>
     -Dotel.exporter.otlp.headers=Authentication=<token>
     -Dotel.exporter.otlp.endpoint=<endpoint>
     -Dotel.metrics.exporter=none
     -Dotel.propagators=tracecontext,baggage,b3
  • 设置OTEL_PROPAGATORS环境变量,然后运行程序。

    支持同时指定多种格式,使用英文半角逗号(,)分隔。

    export OTEL_PROPAGATORS="b3"