Opentracing 和 W3C Trace Context 的区别(相对于 headers)

Difference between Opentracing and W3C Trace Context (with respect to headers)

W3C trace context 定义了 traceparenttracestate headers 以启用分布式跟踪。

我的问题是

  1. 它与 OpenTracing 有何不同。
  2. 如果 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 格式),这应该会在未来缓解这个问题。