Skip to content

Commit 8116d7b

Browse files
authored
B3 clarification (open-telemetry#961)
* clarify expected b3 encodings * restructure b3 requirements * revise B3 defaults
1 parent 3b0a33c commit 8116d7b

File tree

1 file changed

+22
-0
lines changed

1 file changed

+22
-0
lines changed

specification/context/api-propagators.md

+22
Original file line numberDiff line numberDiff line change
@@ -315,6 +315,28 @@ organization and MUST be distributed as OpenTelemetry extension packages:
315315
* [B3](https://github.com/openzipkin/b3-propagation)
316316
* [Jaeger](https://www.jaegertracing.io/docs/latest/client-libraries/#propagation-format)
317317

318+
### B3 Requirements
319+
320+
B3 has both single and multi-header encodings. To maximize compatibility between
321+
implementations, the following guidelines have been established for B3
322+
propagation in OpenTelemetry.
323+
324+
#### Extract
325+
326+
Propagators MUST attempt to extract B3 encoded using single and multi-header
327+
formats. When extracting, the single-header variant takes precedence over
328+
the multi-header version.
329+
330+
#### Inject
331+
332+
When injecting B3, propagators:
333+
334+
* MUST default to injecting B3 using the single-header format
335+
* MUST provide configuration to change the default injection format to B3
336+
multi-header
337+
338+
### Vendor-specific propagators
339+
318340
Additional `Propagator`s implementing vendor-specific protocols such as
319341
AWS X-Ray trace header protocol are encouraged to be maintained and distributed by
320342
their respective vendors.

0 commit comments

Comments
 (0)