OpenTelemetry指定透傳Header格式
OpenTelemetry支持tracecontext、baggage、b3、b3multi、jaeger等多種透傳格式,不同透傳格式會在HTTP請求中設(shè)置不同格式的Header。本文為您介紹如何設(shè)置OpenTelemetry的透傳格式。
OpenTelemetry支持的透傳格式
默認(rèn)情況下,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 | - | - |
設(shè)置透傳格式
在啟動應(yīng)用時,有兩種方式可以設(shè)置OpenTelemetry TraceId的透傳格式:
使用otel.propagators參數(shù):
-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
設(shè)置OTEL_PROPAGATORS環(huán)境變量,然后運行程序。
支持同時指定多種格式,使用英文半角逗號(,)分隔。
export OTEL_PROPAGATORS="b3"