w3c / baggage

Propagation format for distributed context: Baggage
https://w3c.github.io/baggage/
Other
48 stars 18 forks source link

OpenTelemetry and Correlation Context #16

Closed mwear closed 3 years ago

mwear commented 4 years ago

OpenTelemetry and Correlation Context

OpenTelemetry is proposing to propagate correlations according to the editor's draft of the correlation context spec, however, it is still in its early stages. As we discussed at today's meeting, we need to come up with a plan that sets this spec up for success and mitigates any potential challenges from early adoption. I'm creating this issue for us to collect ideas and discuss our options.

Two things we can consider are:

Different header name

We could use a header such as otcorrelationcontext which would give us the freedom to make breaking changes to the spec without considerations for backwards compatibility. The upgrade path for OpenTelemtry would have to be intentional and would require introducing a suitable propagator for correlation context once the spec has been finalized. There is always the risk OpenTelemetry and the W3C spec could diverge and we would be left with multiple formats indefinitely. Even if the projects are aligned, we might be left with both formats regardless.

Versioning the header

If we can agree on a header name and a versioning scheme that will work with our future header representations, we could potentially implement and improve the spec incrementally and maintain backwards compatibility. The main challenges would be deciding on a versioning scheme that will work with the header defined in the editor's draft and how we intend to represent it in the future, such as using an IETF dictionary. Versioning is a challenge we are going to have to face as we finalize the spec either way, so maybe now is as good a time as any to discuss it?

Other options

I'm sure some exist. Please add them to this issue.

mwear commented 4 years ago

Option 3 - Use IETF Dictionary now

We could discuss going all in on the IETF dictionary (see #15) and update the editor's draft to use it now. That way we wouldn't have to change formats. Embedding the version in the dictionary could be a possibility. There would be some work to do in OpenTelemetry to support it, but possibly worth it. An upside is that it could make the spec process go quickly and smoothly.

codefromthecrypt commented 4 years ago

why is opentelemetry making issues in this repo? isn't open telemetry a separate project from w3c specification?

danielkhan commented 4 years ago

OTel ist just one of the first implementors and they have a need for correlation context and we are trying to suggest something that won't break in the future.

codefromthecrypt commented 4 years ago

just seems some troubling left hand here and right hand there, where w3c efforts have been conflated with open-telemetry in chat and issues lists.

Maybe consider putting this issue in otel and inviting the folks who are not already there to it? It would be welcome to see some amount of independence between these two things.

dyladan commented 4 years ago

There is an issue in the opentelemetry spec. I think this issue is more along the lines of "what can we do in order to support otel as quickly as possible" rather than "what should otel do".

codefromthecrypt commented 4 years ago

I don't see how the arbitrary scheduling details of any impl should become a priority of a spec. we probably just disagree on this.

SergeyKanzhelev commented 4 years ago

I believe w3c distributed tracing group cannot make any commitments for open telemetry. We need to follow the standard maturity levels and gather feedback from various parties. I think the point of this issue is that it will be great if we can put more energy into this spec. If this is it, let's close it?

danielkhan commented 3 years ago

I think this is safe to close. We agreed on baggage meanwhile.