You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
Commit 4340352
Browse filesBrowse the repository at this point in the historyBrowse files
Forward the inbound W3C baggage header transparently, mirroring the
existing tracestate design: the raw value is stored on the server span
and injected verbatim on outgoing http and undici/fetch requests made
while handling it. It is never parsed or modified, and child spans
inherit their parent's baggage the same way they inherit tracestate,
with an explicit inbound value winning over the parent's.
Baggage is a propagated header, not a span attribute: it is deliberately
absent from the preallocated attribute-key set and never appears in the
OTLP payload. Outgoing injection follows the tracestate override
semantics: a caller-supplied baggage header is replaced rather than
appended to, and a stale caller-supplied value is removed when the span
has none to inherit.
Per the W3C Baggage specification, baggage propagates independently of
traceparent, so an inbound baggage header is read unconditionally: a
request with baggage but no (or rejected) traceparent still starts a
fresh trace whose outgoing requests carry the baggage. This differs
from tracestate, which is discarded when the traceparent is absent or
rejected per the W3C Trace Context spec.
Signed-off-by: Bryan English <bryan@bryanenglish.com>
0 commit comments