Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Use lowercase B3 header names and correct single header name #765

Closed
morlay opened this issue May 23, 2020 · 2 comments · Fixed by #881
Closed

Use lowercase B3 header names and correct single header name #765

morlay opened this issue May 23, 2020 · 2 comments · Fixed by #881
Assignees
Labels
area:propagators Part of OpenTelemetry context propagation bug Something isn't working good first issue Good for newcomers

Comments

@morlay
Copy link

morlay commented May 23, 2020

for now trace.B3SingleHeader is a const value X-B3

but for some system, it need to be b3 which following https://github.com/openzipkin/b3-propagation

image
https://istio.io/faq/distributed-tracing/

@MrAlias
Copy link
Contributor

MrAlias commented Jun 30, 2020

From the B3 specification:

Note: Http headers are case-insensitive, but sometimes this encoding is used for other transports. When encoding in case-sensitive transports, prefer lowercase keys or the single header header encoding which is explicitly lowercase.

We should use the lowercase form of the headers to ensure compatibility. Similar to what the zipkin library does.

We might want to look into just using that library to support the B3 spec.

@MrAlias MrAlias self-assigned this Jun 30, 2020
@MrAlias MrAlias added bug Something isn't working area:propagators Part of OpenTelemetry context propagation labels Jun 30, 2020
@MrAlias
Copy link
Contributor

MrAlias commented Jun 30, 2020

Also, we definitely need to fix the single header name (X-B3 -> b3).

@Aneurysm9 Aneurysm9 added the good first issue Good for newcomers label Jun 30, 2020
@MrAlias MrAlias changed the title [Feature Request] trace.B3SingleHeader should be configable Use lowercase B3 header names and correct single header name Jun 30, 2020
kuzaxak added a commit to x-qdo/opentelemetry-cpp-contrib that referenced this issue Feb 1, 2022
Some services expect [B3 Multi][1] headers as input information.
To support that we need to be able to Inject them into upstream requests. Lowercase headers used to be [compatible][2] with Istio Envoy.

Tests will be added as a separate commit later on.

Solving open-telemetry#36

[1]: https://github.com/openzipkin/b3-propagation#multiple-headers
[2]: open-telemetry/opentelemetry-go#765
kuzaxak added a commit to x-qdo/opentelemetry-cpp-contrib that referenced this issue Sep 8, 2022
Some services expect [B3 Multi][1] headers as input information.
To support that we need to be able to Inject them into upstream requests. Lowercase headers used to be [compatible][2] with Istio Envoy.

Tests will be added as a separate commit later on.

Solving open-telemetry#36

[1]: https://github.com/openzipkin/b3-propagation#multiple-headers
[2]: open-telemetry/opentelemetry-go#765
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
area:propagators Part of OpenTelemetry context propagation bug Something isn't working good first issue Good for newcomers
Projects
None yet
Development

Successfully merging a pull request may close this issue.

3 participants