envoyproxy/envoy

Use W3C tracecontext instead of x-request-id

Open

#30,052 opened on Oct 10, 2023

View on GitHub
 (6 comments) (22 reactions) (0 assignees)C++ (5,373 forks)batch import
area/opentelemetryarea/tracingenhancementhelp wanted

Repository metrics

Stars
 (27,997 stars)
PR merge metrics
 (Avg merge 8d) (378 merged PRs in 30d)

Description

Title: Use W3C tracecontext instead of x-request-id

Description: W3C tracecontext (https://www.w3.org/TR/trace-context/) could be used instead of x-request-id (https://http.dev/x-request-id) header to carry request ID and sampling decision.

The propagation of the header x-request-id is not supported by other ecosystems that implement automatic in-process header propagation e.g. OpenTelmetry auto-instrumentation libraries.

The OpenTelemetry auto-instrumentation simplifies header propagation for tracing capabilities in Envoy. The OTEL SDK has official support for B3 multi (used by envoy), Jaeger and W3C tracecontext.

It seems unlikely that OpenTelemetry will support x-request-id header propagators across languages https://github.com/open-telemetry/opentelemetry-specification/issues/2912

[optional Relevant Links:]

Contributor guide