Comments (17)
A few thoughts.
From a consistency standpoint, it’s strange to both see lower cased, non-hyphenated headers like traceparent
and the exact opposite in the same umbrella of specs.
I can understand that sticking with the current proposal would be easier for some. But this is in a draft state so everyone relying on the current version should anticipate backwards incompatible changes.
Backwards compatibility in drafts should not weight over compatibility with technologies like JMS and consistency with the rest of the spec.
The earlier this change is made, the less painful it will be.
from baggage.
As was discussed during the call - the decision on name must balance between prior art - what was implemented in .NET based on Editor Draft of this spec and the benefits of different name. Prior art and implementations that are already live will speed up adoption of a spec. While better name can make support of some protocols like JMS better.
I'd suggest to keep the current name for the faster adoption. As I mentioned in PR #14 it's not just .NET, we see people using this specification already in other places and scenarios.
from baggage.
Opentelemetry is beginning work on this in earnest now. We should probably talk about this issue during tomorrow's call.
from baggage.
The current header is incompatible with JMS, not MQTT as I thought yesterday. I updated the description of the issue with an example.
from baggage.
I am indifferent towards the name that we choose
from baggage.
Please see this document for more context: https://docs.google.com/document/d/1Crnp9XguH3BY5b1hcAV2QNiHZV0SKyIuC3moZgdpgiE/edit#
from baggage.
If you choose to make this Correlation-Context zipkin will make a different header that can be used in JMS. your call
from baggage.
PS @SergeyKanzhelev please don't use google docs, they aren't visible in some countries due to blocking of google.
from baggage.
FWIW we've discussed b3ext
a long time ago, but punted on it due to this spec. This is likely the default name if the spec here becomes unusable.
from baggage.
also renaming isn't a choice of just downcasing. for example, in trace-context iirc NR suggested different names hence traceparent and tracestate (no one I recall felt strongly enough to debate those choices, which is amazing)
ex simply correlation
could also work
from baggage.
There's a separate issue tracking another potential name here #17
from baggage.
@adriancole we discussed the name correlation
in the meeting but decided that it had too many other meanings, particularly a few of the tracing vendors use the term internally for their process of linking spans together, and we didn't want to explode the naming choices and make the decision drag on for too long of a time.
from baggage.
[felixbarny] From a consistency standpoint, it’s strange to both see lower cased, non-hyphenated headers like traceparent and the exact opposite in the same umbrella of specs.
Agreed.
[felixbarny] Backwards compatibility in drafts should not weight over compatibility with technologies like JMS and consistency with the rest of the spec.
Agreed. And it's not just JMS - I'd be surprised if there weren't other things out there that would choke on Correlation-Context
, either now or in the future. Picking something with a maximum likelihood of compatibility in as many situations as possible feels like something this spec should shoot for.
[felixbarny] The earlier this change is made, the less painful it will be.
Agreed.
[SergeyKanzhelev] I'd suggest to keep the current name for the faster adoption.
The problem is once this is finalized, it can't realistically be changed. Sticking with Correlation-Context
feels like a short term win but a long-term loss.
I do sympathize with wanting to disrupt existing stuff as little as possible. It's a valid concern and it almost swayed me. But taken as a whole I'd vote for changing it to correlationcontext
or another similar name that's consistent with traceparent
and tracestate
, and maximizes the likelihood of compatibility with other non-HTTP techs/protocols/etc.
from baggage.
@nicmunroe thank you for the comment. One thing disappoints me with the traceparent
and tracestate
that I mentioned in the document:
As a note here, the promise of Trace Context specification doesn’t hold. Using header names tracestate and traceparent as a single word causes many issues like syntax error highlighting in IDEs. So in many places they are already treated as two words in variables naming and protocols.
So renaming to correlationcontext
, tempting to keep consistent with the tracestate
, may not be used the way we anticipate and recommend. So end users and protocol owners will start inserting delimiters anyway.
Renaming to baggage
doesn't have this problem.
from baggage.
The header will be renamed to baggage
.
from baggage.
Should this be closed since we have #17 ?
from baggage.
+1 to close
from baggage.
Related Issues (20)
- RFC 8941 HOT 2
- Clarify in text the relationship to Trace Context HOT 1
- Relationship to other HTTP Header encoding proposals HOT 8
- Make trust/privacy boundary explicit (at least in browsers)
- Need to update the limits section in rationale to be in sync with the new lower limits HOT 1
- Clarification on how baggage should be propagated when using websockets HOT 2
- Acknowledgements HOT 5
- Precent character in value must be precent-encoded
- When multiple baggage headers are used, clarify that minimum limits apply to the cumulative total HOT 3
- Baggage: Mention about minimum limits approach first before describing the conditions HOT 1
- We need to document the reasoning for the supported character range
- Test harness to show handling of invalid inputs
- Extend parse tests with more use cases
- Clarification regarding baggage list-member value
- Clarify how compliant implementations should handle invalid baggage entries HOT 2
- Java: Audit the Otel implementation of Baggage using Baggage Test Suite
- .NET: Audit the OpenTelemetry implementation of Baggage using Baggage test suite
- Python: Audit the Otel implementation of Baggage
- GoLang: Audit the Otel implementation of Baggage
- Audit a sample of Otel's baggage test suites
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from baggage.