Opentracing 和 W3C Trace Context 的区别(相对于 headers)
Difference between Opentracing and W3C Trace Context (with respect to headers)
W3C trace context 定义了 traceparent
和 tracestate
headers 以启用分布式跟踪。
我的问题是
- 它与 OpenTracing 有何不同。
- 如果 W3C 已经定义了 headers 的用法,那么 opentracing 是否使用其他一些 headers?
OpenTracing 在设计上没有定义传播跟踪 header 的格式。实施 OpenTracing 的图书馆有责任为跨度上下文的 serialization/de-serialization 提供自己的格式。这主要是为了尽可能广泛地兼容。通常,您会发现三种不同的 OpenTracing 流行 header 格式 - Zipkin (B3-*
)、Jaeger (uber-*
) 和 OpenTracing 'sample' headers (ot-*
),尽管一些供应商也开始添加 W3C TraceContext。
OpenTelemetry 已选择采用 W3C TraceContext 作为其核心传播格式之一(除了 Zipkin 的 B3 格式),这应该会在未来缓解这个问题。
W3C trace context 定义了 traceparent
和 tracestate
headers 以启用分布式跟踪。
我的问题是
- 它与 OpenTracing 有何不同。
- 如果 W3C 已经定义了 headers 的用法,那么 opentracing 是否使用其他一些 headers?
OpenTracing 在设计上没有定义传播跟踪 header 的格式。实施 OpenTracing 的图书馆有责任为跨度上下文的 serialization/de-serialization 提供自己的格式。这主要是为了尽可能广泛地兼容。通常,您会发现三种不同的 OpenTracing 流行 header 格式 - Zipkin (B3-*
)、Jaeger (uber-*
) 和 OpenTracing 'sample' headers (ot-*
),尽管一些供应商也开始添加 W3C TraceContext。
OpenTelemetry 已选择采用 W3C TraceContext 作为其核心传播格式之一(除了 Zipkin 的 B3 格式),这应该会在未来缓解这个问题。