oss_15_b3_debug_flag_propagation#23
Conversation
The B3 propagators mapped a received debug flag to SAMPLED on extract but never stored the debug state, so inject only ever emitted 1/0 and the debug flag was silently dropped. The b3 spec requires a received debug flag to be preserved and re-propagated. Extract now stores the received debug state in a dedicated context key, and inject re-emits it: 'x-b3-flags: 1' for the multi-header format and the 'd' value in the sampling position for the single-header format. Normal sampled/unsampled behavior is unchanged.
|
🔒 Internal (dash0) — not for upstream.
|
|
📣 Public-facing draft — to be used for the upstream PR in Title: Preserve and re-propagate the B3 debug flag WhatThe B3 propagators now preserve a received debug flag and re-propagate it downstream:
WhyPreviously the debug indicator ( Spec
Tests
|
Closes #19
Preserve and re-propagate the B3 debug flag (Linear OSS-15, finding P1). Extract stores the received debug state in a dedicated context key; inject re-emits it —
x-b3-flags: 1(multi-header) /din the sampling position (single-header). Normal sampled/unsampled behavior unchanged.Validation: scope contained to propagator-b3 + changelog; propagator-b3 suite 56 passed.
Linear issue: https://linear.app/dash0/issue/OSS-15/p1-b3-propagator-debug-flag-not-preservedre-propagated-on-inject-must