make span context management public#967
Merged
Merged
Conversation
Codecov Report
@@ Coverage Diff @@
## main #967 +/- ##
=======================================
Coverage 95.36% 95.36%
=======================================
Files 161 161
Lines 6780 6780
=======================================
Hits 6465 6465
Misses 315 315
|
jsuereth
approved these changes
Sep 3, 2021
ThomsonTan
approved these changes
Sep 3, 2021
This file contains hidden or 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
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
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.
Fixes #950
Changes
( raising PR #966 again with resolved review comments because of easycla issue with one of the commits in it cc @ThomsonTan )
Move span-context helper methods from
trace::propagationtotracenamespace. They are now treated as being in public api namespace. It's not possible to move them to Span API ( i.e, making them static within api::Span class ) as the complete implementation ofDefaultSpanis not visible/available in that class.This is how header structure looks like:
context/context.h - contains implementation for context data-structure logic
trace/tracer.h - span context management ( implicit )
trace/context.h - span context management ( explicit )
The implicit context management are still static methods in
trace::tracerclass to ensure not to introduce a breaking change, and at the same time remain specs compliant.cc @jsuereth