make span context management public #967
Merged
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::propagation
totrace
namespace. 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 ofDefaultSpan
is 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::tracer
class to ensure not to introduce a breaking change, and at the same time remain specs compliant.cc @jsuereth