Skip to content

Commit

Permalink
B3 clarification (open-telemetry#961)
Browse files Browse the repository at this point in the history
* clarify expected b3 encodings

* restructure b3 requirements

* revise B3 defaults
  • Loading branch information
mwear authored Sep 22, 2020
1 parent a6ae47e commit 3e66e6f
Showing 1 changed file with 22 additions and 0 deletions.
22 changes: 22 additions & 0 deletions specification/context/api-propagators.md
Original file line number Diff line number Diff line change
Expand Up @@ -315,6 +315,28 @@ organization and MUST be distributed as OpenTelemetry extension packages:
* [B3](https://github.com/openzipkin/b3-propagation)
* [Jaeger](https://www.jaegertracing.io/docs/latest/client-libraries/#propagation-format)

### B3 Requirements

B3 has both single and multi-header encodings. To maximize compatibility between
implementations, the following guidelines have been established for B3
propagation in OpenTelemetry.

#### Extract

Propagators MUST attempt to extract B3 encoded using single and multi-header
formats. When extracting, the single-header variant takes precedence over
the multi-header version.

#### Inject

When injecting B3, propagators:

* MUST default to injecting B3 using the single-header format
* MUST provide configuration to change the default injection format to B3
multi-header

### Vendor-specific propagators

Additional `Propagator`s implementing vendor-specific protocols such as
AWS X-Ray trace header protocol are encouraged to be maintained and distributed by
their respective vendors.

0 comments on commit 3e66e6f

Please sign in to comment.