* prototype for class to replace Map<String, AttributeValue)
* safely copy the builder's data
* add the empty constant
* optimization for attributes with a single key/value
* Add an iterator/iterable and some simple tests
* fix animalsniffer complaint
* tests for de-duping and order-independent equality, plus removal of possibly unneeded access methods.
* clean up the sort&filter method a tad
* replace the iterator with a foreach method
* Make the Attributes parameterized by the value type.
* Add basic javadoc
* remove helper class; add a simple test for the builder; make the tests more robust
* Add a varargs method for creating an arbitrary number of key/value pairs.
* static import the check method, for consistency
* Refactor to have an interface and two implementations, with some shared logic.
* fix an accidental rename
* really fix it for real
* add a few more tests
* preserve the `setAttribute` names from existing Span API
* Replace the treemap sorting and filtering with a quicksort and post-filter.
* remove an unneeded list.
* switch to an abstract base class to remove some code duplication
* Updated docs based on feedback.
* Small change to use the builder for the empty implementations.
* add shortcut methods to get tracers and meters
* add shortcut methods to get tracers and meters
* add shortcut methods to get tracers and meters
* add shortcut methods to get tracers and meters
* added jaeger propogator and test
* address PR comments about logging and static var names
* added jaeger client for testing jaeger propagator
* added comment to explain why UTF-8 decoding is needed
* Initial def of string constants for semantic convention span attribute names
* Change to recommended name and update to latest specifications
* Changed constants to objects which enabled typed setting of span attributes
* Sync Javadoc with specifications document.
* Update to latest factory name
* Renaming to make usage clearer
* API improvements and cleanup based on PR comments
* Removed methods required by code reviews
* Made setter classes final
* Initial Propagators refactor.
* Add tests for the new propagators changes.
* Make the SDK compile/pass.
* Make the OT shim compile/pass.
* Make contrib components compile/pass.
* Improvement over Span/SpanContext handling in Context.
* Add Span.setParent(Context) overload.
* Do not provide default values for Span/SpanContext keys in Context.
* Improve the Context's active state handling.
* Rename DistributedContext to CorrelationContext.
* Improve names for correlationcontext's ContextUtils methods.
* Don't provide an automatic default for current CorrelationContext.
* Improve the client-server example after the recent changes.
* Adds CorrelationContext.Builder.setParent(Context) overload.
* s/be/become.
* Fix javadoc.
* No need to use diamond.
* Simply import withScopedContext().
* Fix the API/SDK build.
* Remove the builder from the Propagators interface.
* Fix name.
* Use Collections.emptyList() directly.
* Rename Propagators to ContextPropagators.
* Move context/ members in api/ to context_prop/
* Add check/tests for null scoped Contexts.
* Rename ContextUtils classes to better alternatives.
* Update the context* util classes.
* Make the code compile after the latest master merge.
* Cache the fields() in our default composite propagator.
* Remove the overloads of setParent(Context) for now.
* Use DefaultSpan for the tests instead of calling getTracerProvider()
* Fix the sdk testbed artifact build.
* Make the B3 propagator comply with the new propagator API.
* Simplify the HttpTraceContextTest tests.
* Simplify the ContextUtils* classes handling of default values.
* Minor nit.
* Update api/src/main/java/io/opentelemetry/OpenTelemetry.java
Co-Authored-By: Giovanni Liva <giovanni.liva@dynatrace.com>
* Annotate ContextPropagators with ThreadSafe instead of Immutable.
* Do not use the fully qualified ContextUtils identifier.
* Remove SpanContext support from TracingContextUtils.
* Rever to using non-defaulted key for TracingContextUtils.
* Revert the default keys for CorrelationsContextUtils.
Co-authored-by: Giovanni Liva <giovanni.liva@dynatrace.com>