Skip to content

Commit

Permalink
Clarify that TraceContext/Baggage propagators are required. (#1132)
Browse files Browse the repository at this point in the history
  • Loading branch information
carlosalberto authored Oct 23, 2020
1 parent 5580ef2 commit c864922
Show file tree
Hide file tree
Showing 3 changed files with 14 additions and 4 deletions.
5 changes: 4 additions & 1 deletion specification/baggage/api.md
Original file line number Diff line number Diff line change
Expand Up @@ -116,10 +116,13 @@ OPTIONAL parameters:
`Baggage` MAY be propagated across process boundaries or across any arbitrary boundaries
(process, $OTHER_BOUNDARY1, $OTHER_BOUNDARY2, etc) for various reasons.

The API layer MAY include the following `Propagator`s:
The API layer or an extension package MUST include the following `Propagator`s:

* A `TextMapPropagator` implementing the [W3C Baggage Specification](https://w3c.github.io/baggage).

See [Propagators Distribution](../context/api-propagators.md#propagators-distribution)
for how propagators are to be distributed.

Note: The W3C baggage specification does not currently assign semantic meaning to the optional metadata.

On `extract`, the propagator should store all metadata as a single metadata instance per entry.
Expand Down
8 changes: 6 additions & 2 deletions specification/context/api-propagators.md
Original file line number Diff line number Diff line change
Expand Up @@ -312,8 +312,12 @@ Required parameters:
The official list of propagators that MUST be maintained by the OpenTelemetry
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)
* [W3C TraceContext](https://www.w3.org/TR/trace-context/). MAY alternatively
be distributed as part of the OpenTelemetry API.
* [W3C Baggage](https://w3c.github.io/baggage). MAY alternatively
be distributed as part of the OpenTelemetry API.
* [B3](https://github.com/openzipkin/b3-propagation).
* [Jaeger](https://www.jaegertracing.io/docs/latest/client-libraries/#propagation-format).

Additional `Propagator`s implementing vendor-specific protocols such as AWS
X-Ray (Note, AWS is used as an example, not as a requirement) trace header
Expand Down
5 changes: 4 additions & 1 deletion specification/trace/api.md
Original file line number Diff line number Diff line change
Expand Up @@ -731,10 +731,13 @@ be called concurrently.

## Included Propagators

The API layer MAY include the following `Propagator`s:
The API layer or an extension package MUST include the following `Propagator`s:

* A `TextMapPropagator` implementing the [W3C TraceContext Specification](https://www.w3.org/TR/trace-context/).

See [Propagators Distribution](../context/api-propagators.md#propagators-distribution)
for how propagators are to be distributed.

## Behavior of the API in the absence of an installed SDK

In general, in the absence of an installed SDK, the Trace API is a "no-op" API.
Expand Down

0 comments on commit c864922

Please sign in to comment.