* Add new propagators package
* Move B3 propagator to propagators
Update all `api/trace` dependencies in the propagator.
Export the isDeferred and isDebug methods of the SpanContext. These are
needed by the B3 propagator to track trace state.
* Move W3C trace context propagator to propagators
* Update package docs with supported encodings
* Move unified propagators code to own file
* Update b3 exported documentation
* Update trace_context exported documentation
* Add code examples for B3 propagator
* Add TraceContext example code
* Remove internal package
Move common testing declarations to the propagators_test.go file.
* Add changes to Changelog
* Add test to check default propagators
Also simplified the first lines of some package docs
to focus on what the package provides instead of
explaining the implementation details.
Co-authored-by: Tyler Yahn <MrAlias@users.noreply.github.com>
* Unify API Span Start/End Options
Replace both with `SpanOption`. Add a unified `SpanConfig` to match and
a `SpanConfigure` function to parse a `SpanConfig` from `SpanOption`s.
Update all the related options to use new `SpanOption`s.
* No non-zero SpanConfig defaults
The SDK uses an internal clock for the current time that cannot be use
if it does not know the time has not been set.
* Append attributes for WithAttributes
This preserves existing behavior.
* Add unit test for SpanConfigure
* Propagate changes
* Update append option documentation
* Update testing comments
* Move comments on guarantees to appropriate function
* Add documentation for SDK methods
Include SDK implementation specific information in the Tracer Start
method and Span End method.
* Add changes to Changelog
* Apply suggestions from code review
Co-authored-by: ET <evantorrie@users.noreply.github.com>
* Update the SpanKind comment in the SpanConfig
Try for a less tautological comment.
Co-authored-by: ET <evantorrie@users.noreply.github.com>
* Update Tracer configuration.
Conform to API option design outlined in #536.
Add tests to validate new TracerConfigure function
Drop the `instrumentation` prefix.
* Stick with instrumentationVersion for now
* Propagate changes
* Add changes to Changelog
* Make trace testhelpers public
Move MockSpan and MockTracer out of internal package into the api/trace
directory.
* Do not move internal/trace/parent into testing dir
Leave internal/trace/parent/parent.go in the internal directory.
* Fix MockTracer Start method comments
Fix "TraceID".
* Run make precommit to cleanup go.mod
Cleanum go.mod and go.sum.
* Fix tracetest MockSpan structure alignment
Make MockSpan 80 bytes instead of 88 by fixing its alignment.
* Revert bridge/opentracing/internal/mock.go imports
Do not change imports lines in bridge/opentracing/internal/mock.go.