This repository has been archived by the owner on Dec 6, 2024. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 164
Proposal: Separate Layer for Context Propagation #66
Merged
Conversation
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Co-Authored-By: Christian Neumüller <[email protected]>
Co-Authored-By: Christian Neumüller <[email protected]>
Co-Authored-By: Reiley Yang <[email protected]>
Co-Authored-By: Reiley Yang <[email protected]>
Co-Authored-By: Reiley Yang <[email protected]>
Co-Authored-By: Reiley Yang <[email protected]>
* Remove registry concept * Add explicit chaining
tsloughter
approved these changes
Jan 16, 2020
MrAlias
approved these changes
Jan 16, 2020
I think the overall concept of this proposal is great. Providing a universal, reliable mechanism for transmitting context throughout a system could make OpenTelemetry attractive to development teams currently not using an observability framework. |
mwear
approved these changes
Jan 16, 2020
yurishkuro
approved these changes
Jan 16, 2020
Co-Authored-By: Mauricio Vásquez <[email protected]>
iredelmeier
approved these changes
Jan 17, 2020
@bogdandrutu @SergeyKanzhelev since this has approval, and is primarily meant to describe the high-level goals, I would like to go ahead and merge it. We can continue discussion about the API details in spec PRs, based on the prototypes. |
c24t
approved these changes
Jan 17, 2020
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM to move this forward to specs.
carlosalberto
pushed a commit
to carlosalberto/oteps
that referenced
this pull request
Oct 23, 2024
* Proposal to separate context propagation from observability * cleanup description for Extract * commas Co-Authored-By: Christian Neumüller <[email protected]> * Update text/0000-separate-context-propagation.md Co-Authored-By: Christian Neumüller <[email protected]> * RFC proposal: A layered approach to data formats * whitespace Co-Authored-By: Reiley Yang <[email protected]> * Capitalization Co-Authored-By: Reiley Yang <[email protected]> * whitespace Co-Authored-By: Reiley Yang <[email protected]> * CleanBaggage -> ClearBaggage * move function descriptions to new line * Add Optional subheader * cleanup rough edits * clean up advice on pre-existing context implementations * Better context descriptions * remove data format file * remove git diff message * improved code sytnax * stop stuttering * Update text/0000-separate-context-propagation.md Co-Authored-By: Reiley Yang <[email protected]> * spacing * Refine propagation * Remove registry concept * Add explicit chaining * Add RFC ID number from PR * remove RFC status line * slight calrification for GetHTTPExtractor * add global propagators * Clean up motivation * Clean up explanbation intro * Clarify context types * Fix ChainHTTPInjector and ChainHTTPExtractor * typo * Reference Trace-Context, not just traceparent * Bagge context cleanup * stronger language around context access * Update text/0042-separate-context-propagation.md Co-Authored-By: Christian Neumüller <[email protected]> * clean up tradeoffs * v2.0 of this OTEP * Update OTEP number for new submission * remove image file for unused diagram * Update text/0066-separate-context-propagation.md Co-Authored-By: alrex <[email protected]> * Link to Erlang prototype * whitespace * ToC * Update text/0066-separate-context-propagation.md Co-Authored-By: Tristan Sloughter <[email protected]> * more context examples * typo * Update text/0066-separate-context-propagation.md Co-Authored-By: Yusuke Tsutsumi <[email protected]> * Apply suggestions from code review Co-Authored-By: Yuri Shkuro <[email protected]> * Renamed aspects to "cross-cutting concerns" * injectors are a list instead of chained * clean up API representation * cleanup examples * typo * remove correlations from proposal * Update text/0066-separate-context-propagation.md Co-Authored-By: Yuri Shkuro <[email protected]> * remove the term "chaining" * remove the terms upstream and downstream * improved architecturural explanation * whitespace * update link to Go prototype * Removed the Baggage API; replaced it with Correlations. * Fix the intro paragraph for Correlations * git merges ate my homework * some sentences were out of order * Clarify that correltions must be propagated * Clarify risks * removed extra header * Clarify definition of aspect-oriented programming * Fix RemoveCorrelation * Spelling * Update text/0066-separate-context-propagation.md Co-Authored-By: Sergey Kanzhelev <[email protected]> * Clarifying details * Update python prototype * Update text/0066-separate-context-propagation.md Co-Authored-By: Tyler Yahn <[email protected]> * Update text/0066-separate-context-propagation.md Co-Authored-By: Tyler Yahn <[email protected]> * Update text/0066-separate-context-propagation.md Co-Authored-By: Tyler Yahn <[email protected]> * Clarify that the APIs and example code are not meant as final. Add C# prototype * Inject returns headers, not context * Update text/0066-separate-context-propagation.md Co-Authored-By: Mauricio Vásquez <[email protected]> * spelling * remove spurious go comment Co-authored-by: Christian Neumüller <[email protected]> Co-authored-by: Reiley Yang <[email protected]> Co-authored-by: alrex <[email protected]> Co-authored-by: Tristan Sloughter <[email protected]> Co-authored-by: Yusuke Tsutsumi <[email protected]> Co-authored-by: Yuri Shkuro <[email protected]> Co-authored-by: Sergey Kanzhelev <[email protected]> Co-authored-by: Tyler Yahn <[email protected]> Co-authored-by: Mauricio Vásquez <[email protected]>
carlosalberto
pushed a commit
to carlosalberto/oteps
that referenced
this pull request
Oct 23, 2024
* Proposal to separate context propagation from observability * cleanup description for Extract * commas Co-Authored-By: Christian Neumüller <[email protected]> * Update text/0000-separate-context-propagation.md Co-Authored-By: Christian Neumüller <[email protected]> * RFC proposal: A layered approach to data formats * whitespace Co-Authored-By: Reiley Yang <[email protected]> * Capitalization Co-Authored-By: Reiley Yang <[email protected]> * whitespace Co-Authored-By: Reiley Yang <[email protected]> * CleanBaggage -> ClearBaggage * move function descriptions to new line * Add Optional subheader * cleanup rough edits * clean up advice on pre-existing context implementations * Better context descriptions * remove data format file * remove git diff message * improved code sytnax * stop stuttering * Update text/0000-separate-context-propagation.md Co-Authored-By: Reiley Yang <[email protected]> * spacing * Refine propagation * Remove registry concept * Add explicit chaining * Add RFC ID number from PR * remove RFC status line * slight calrification for GetHTTPExtractor * add global propagators * Clean up motivation * Clean up explanbation intro * Clarify context types * Fix ChainHTTPInjector and ChainHTTPExtractor * typo * Reference Trace-Context, not just traceparent * Bagge context cleanup * stronger language around context access * Update text/0042-separate-context-propagation.md Co-Authored-By: Christian Neumüller <[email protected]> * clean up tradeoffs * v2.0 of this OTEP * Update OTEP number for new submission * remove image file for unused diagram * Update text/0066-separate-context-propagation.md Co-Authored-By: alrex <[email protected]> * Link to Erlang prototype * whitespace * ToC * Update text/0066-separate-context-propagation.md Co-Authored-By: Tristan Sloughter <[email protected]> * more context examples * typo * Update text/0066-separate-context-propagation.md Co-Authored-By: Yusuke Tsutsumi <[email protected]> * Apply suggestions from code review Co-Authored-By: Yuri Shkuro <[email protected]> * Renamed aspects to "cross-cutting concerns" * injectors are a list instead of chained * clean up API representation * cleanup examples * typo * remove correlations from proposal * Update text/0066-separate-context-propagation.md Co-Authored-By: Yuri Shkuro <[email protected]> * remove the term "chaining" * remove the terms upstream and downstream * improved architecturural explanation * whitespace * update link to Go prototype * Removed the Baggage API; replaced it with Correlations. * Fix the intro paragraph for Correlations * git merges ate my homework * some sentences were out of order * Clarify that correltions must be propagated * Clarify risks * removed extra header * Clarify definition of aspect-oriented programming * Fix RemoveCorrelation * Spelling * Update text/0066-separate-context-propagation.md Co-Authored-By: Sergey Kanzhelev <[email protected]> * Clarifying details * Update python prototype * Update text/0066-separate-context-propagation.md Co-Authored-By: Tyler Yahn <[email protected]> * Update text/0066-separate-context-propagation.md Co-Authored-By: Tyler Yahn <[email protected]> * Update text/0066-separate-context-propagation.md Co-Authored-By: Tyler Yahn <[email protected]> * Clarify that the APIs and example code are not meant as final. Add C# prototype * Inject returns headers, not context * Update text/0066-separate-context-propagation.md Co-Authored-By: Mauricio Vásquez <[email protected]> * spelling * remove spurious go comment Co-authored-by: Christian Neumüller <[email protected]> Co-authored-by: Reiley Yang <[email protected]> Co-authored-by: alrex <[email protected]> Co-authored-by: Tristan Sloughter <[email protected]> Co-authored-by: Yusuke Tsutsumi <[email protected]> Co-authored-by: Yuri Shkuro <[email protected]> Co-authored-by: Sergey Kanzhelev <[email protected]> Co-authored-by: Tyler Yahn <[email protected]> Co-authored-by: Mauricio Vásquez <[email protected]>
carlosalberto
pushed a commit
to carlosalberto/oteps
that referenced
this pull request
Oct 30, 2024
* Proposal to separate context propagation from observability * cleanup description for Extract * commas Co-Authored-By: Christian Neumüller <[email protected]> * Update text/0000-separate-context-propagation.md Co-Authored-By: Christian Neumüller <[email protected]> * RFC proposal: A layered approach to data formats * whitespace Co-Authored-By: Reiley Yang <[email protected]> * Capitalization Co-Authored-By: Reiley Yang <[email protected]> * whitespace Co-Authored-By: Reiley Yang <[email protected]> * CleanBaggage -> ClearBaggage * move function descriptions to new line * Add Optional subheader * cleanup rough edits * clean up advice on pre-existing context implementations * Better context descriptions * remove data format file * remove git diff message * improved code sytnax * stop stuttering * Update text/0000-separate-context-propagation.md Co-Authored-By: Reiley Yang <[email protected]> * spacing * Refine propagation * Remove registry concept * Add explicit chaining * Add RFC ID number from PR * remove RFC status line * slight calrification for GetHTTPExtractor * add global propagators * Clean up motivation * Clean up explanbation intro * Clarify context types * Fix ChainHTTPInjector and ChainHTTPExtractor * typo * Reference Trace-Context, not just traceparent * Bagge context cleanup * stronger language around context access * Update text/0042-separate-context-propagation.md Co-Authored-By: Christian Neumüller <[email protected]> * clean up tradeoffs * v2.0 of this OTEP * Update OTEP number for new submission * remove image file for unused diagram * Update text/0066-separate-context-propagation.md Co-Authored-By: alrex <[email protected]> * Link to Erlang prototype * whitespace * ToC * Update text/0066-separate-context-propagation.md Co-Authored-By: Tristan Sloughter <[email protected]> * more context examples * typo * Update text/0066-separate-context-propagation.md Co-Authored-By: Yusuke Tsutsumi <[email protected]> * Apply suggestions from code review Co-Authored-By: Yuri Shkuro <[email protected]> * Renamed aspects to "cross-cutting concerns" * injectors are a list instead of chained * clean up API representation * cleanup examples * typo * remove correlations from proposal * Update text/0066-separate-context-propagation.md Co-Authored-By: Yuri Shkuro <[email protected]> * remove the term "chaining" * remove the terms upstream and downstream * improved architecturural explanation * whitespace * update link to Go prototype * Removed the Baggage API; replaced it with Correlations. * Fix the intro paragraph for Correlations * git merges ate my homework * some sentences were out of order * Clarify that correltions must be propagated * Clarify risks * removed extra header * Clarify definition of aspect-oriented programming * Fix RemoveCorrelation * Spelling * Update text/0066-separate-context-propagation.md Co-Authored-By: Sergey Kanzhelev <[email protected]> * Clarifying details * Update python prototype * Update text/0066-separate-context-propagation.md Co-Authored-By: Tyler Yahn <[email protected]> * Update text/0066-separate-context-propagation.md Co-Authored-By: Tyler Yahn <[email protected]> * Update text/0066-separate-context-propagation.md Co-Authored-By: Tyler Yahn <[email protected]> * Clarify that the APIs and example code are not meant as final. Add C# prototype * Inject returns headers, not context * Update text/0066-separate-context-propagation.md Co-Authored-By: Mauricio Vásquez <[email protected]> * spelling * remove spurious go comment Co-authored-by: Christian Neumüller <[email protected]> Co-authored-by: Reiley Yang <[email protected]> Co-authored-by: alrex <[email protected]> Co-authored-by: Tristan Sloughter <[email protected]> Co-authored-by: Yusuke Tsutsumi <[email protected]> Co-authored-by: Yuri Shkuro <[email protected]> Co-authored-by: Sergey Kanzhelev <[email protected]> Co-authored-by: Tyler Yahn <[email protected]> Co-authored-by: Mauricio Vásquez <[email protected]>
carlosalberto
pushed a commit
to open-telemetry/opentelemetry-specification
that referenced
this pull request
Nov 8, 2024
…s#66) * Proposal to separate context propagation from observability * cleanup description for Extract * commas Co-Authored-By: Christian Neumüller <[email protected]> * Update text/0000-separate-context-propagation.md Co-Authored-By: Christian Neumüller <[email protected]> * RFC proposal: A layered approach to data formats * whitespace Co-Authored-By: Reiley Yang <[email protected]> * Capitalization Co-Authored-By: Reiley Yang <[email protected]> * whitespace Co-Authored-By: Reiley Yang <[email protected]> * CleanBaggage -> ClearBaggage * move function descriptions to new line * Add Optional subheader * cleanup rough edits * clean up advice on pre-existing context implementations * Better context descriptions * remove data format file * remove git diff message * improved code sytnax * stop stuttering * Update text/0000-separate-context-propagation.md Co-Authored-By: Reiley Yang <[email protected]> * spacing * Refine propagation * Remove registry concept * Add explicit chaining * Add RFC ID number from PR * remove RFC status line * slight calrification for GetHTTPExtractor * add global propagators * Clean up motivation * Clean up explanbation intro * Clarify context types * Fix ChainHTTPInjector and ChainHTTPExtractor * typo * Reference Trace-Context, not just traceparent * Bagge context cleanup * stronger language around context access * Update text/0042-separate-context-propagation.md Co-Authored-By: Christian Neumüller <[email protected]> * clean up tradeoffs * v2.0 of this OTEP * Update OTEP number for new submission * remove image file for unused diagram * Update text/0066-separate-context-propagation.md Co-Authored-By: alrex <[email protected]> * Link to Erlang prototype * whitespace * ToC * Update text/0066-separate-context-propagation.md Co-Authored-By: Tristan Sloughter <[email protected]> * more context examples * typo * Update text/0066-separate-context-propagation.md Co-Authored-By: Yusuke Tsutsumi <[email protected]> * Apply suggestions from code review Co-Authored-By: Yuri Shkuro <[email protected]> * Renamed aspects to "cross-cutting concerns" * injectors are a list instead of chained * clean up API representation * cleanup examples * typo * remove correlations from proposal * Update text/0066-separate-context-propagation.md Co-Authored-By: Yuri Shkuro <[email protected]> * remove the term "chaining" * remove the terms upstream and downstream * improved architecturural explanation * whitespace * update link to Go prototype * Removed the Baggage API; replaced it with Correlations. * Fix the intro paragraph for Correlations * git merges ate my homework * some sentences were out of order * Clarify that correltions must be propagated * Clarify risks * removed extra header * Clarify definition of aspect-oriented programming * Fix RemoveCorrelation * Spelling * Update text/0066-separate-context-propagation.md Co-Authored-By: Sergey Kanzhelev <[email protected]> * Clarifying details * Update python prototype * Update text/0066-separate-context-propagation.md Co-Authored-By: Tyler Yahn <[email protected]> * Update text/0066-separate-context-propagation.md Co-Authored-By: Tyler Yahn <[email protected]> * Update text/0066-separate-context-propagation.md Co-Authored-By: Tyler Yahn <[email protected]> * Clarify that the APIs and example code are not meant as final. Add C# prototype * Inject returns headers, not context * Update text/0066-separate-context-propagation.md Co-Authored-By: Mauricio Vásquez <[email protected]> * spelling * remove spurious go comment Co-authored-by: Christian Neumüller <[email protected]> Co-authored-by: Reiley Yang <[email protected]> Co-authored-by: alrex <[email protected]> Co-authored-by: Tristan Sloughter <[email protected]> Co-authored-by: Yusuke Tsutsumi <[email protected]> Co-authored-by: Yuri Shkuro <[email protected]> Co-authored-by: Sergey Kanzhelev <[email protected]> Co-authored-by: Tyler Yahn <[email protected]> Co-authored-by: Mauricio Vásquez <[email protected]>
Sign up for free
to subscribe to this conversation on GitHub.
Already have an account?
Sign in.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This proposal provides a high level description of OpenTelemetry, which shows how context propagation, observability, and baggage could be cleanly decoupled.
This is a second draft of the OTEP originally submitted in #42. It is resubmitted as a new PR, as much has changed. Link to a readable version of the latest draft can be found here.
Changes from the first draft:
A couple of notes on terminology:
In this doc, I refer to
TagMap
asCorrelations
, andTags
asLabels
. There can be a separate discussion for what to name this, but since Tag has repeatedly come up as a contentious name for this feature, I tried to use something "similar but different" to avoid this debate. I actually feel that the term correlation contains a more accurate meaning than tag, so it may be an improvement.The goal with this spec proposal is to find a way to describe these public APIs as simple as possible, but no simpler. This description is meant to be high level, but not inaccurate. If a detail appears to be missing, it is intentional - presumably handled at the SDK layer. Possibly, it should be present. Please review this document with this in mind.