* omit metrics artifacts (alpha) from the bill of materials (bom)
* Hack the version number for maven publications that end in -metrics.
* Remove the failed attempt.
This ensure clear separation of functionality. This PR does not change any functionality, it just restructures the code to separate global functionality from
the Default implementation. Also helps to ensure that Global initialization does not happen by mistake when working only with the default implementation.
Also it helps with methods like `OpenTelemetry.get()` and `OpenTelemetry.set()` to understand they are interacting with global instance
Signed-off-by: Bogdan Drutu <bogdandrutu@gmail.com>
This ensure clear separation of functionality. This PR does not change any functionality, it just restructures the code to separate global functionality from
the Default implementation. Also helps to ensure that Global initialization does not happen by mistake when working only with the default implementation.
Also it helps with methods like `OpenTelemetry.get()` and `OpenTelemetry.set()` to understand they are interacting with global instance
Signed-off-by: Bogdan Drutu <bogdandrutu@gmail.com>
* add some basic benchmarks for various baggage operations
* update for changes from upstream; pre-allocate the strings in the benchmark.
* allocate the strings statically because we can
This PR fixes an inconsistency that MaxLengthOfAttributeValues was allowed to be set to 0, then thrown internal exception.
We should check for arguments only at public APIs.
Signed-off-by: Bogdan Drutu <bogdandrutu@gmail.com>
There are some things left to be done:
* Decide if context package should also be opentelemetry-api-context.
* Cleanup internal packages, things that are used by only one artifact should be moved there.
Signed-off-by: Bogdan Drutu <bogdandrutu@gmail.com>
* Detect GC leaks of scopes in StrictContextStorage.
* More
* Finish
* Force GC more aggressively
* Cleanup
* Vendor code directly
* Copy test too
* Try waiting more
* ep
* oops
* Remove from build.gradle
* Drift
* Log on multiple
* Cleaner ourselves.
* EP
* Move into if
* Revert accidental
* Convert Attributes to an interface
* Add javadoc explaining Attributes implementation requirements.
* Convert the AttributesBuilder into an interface.
* update from upstream changes
* move the implementation class out of the interface
* clean up some javadoc that referenced non-public classes
* convert TraceState to an interface
* don't expose the impl
* Remove the un-needed TraceState Entry objects.
* Add additional javadoc documenting requirements for interface implementors.
* make the implementation non-public
* remove un-needed test docs
* Update api/src/main/java/io/opentelemetry/api/trace/TraceState.java
Co-authored-by: Anuraag Agrawal <anuraaga@gmail.com>
* Update api/src/main/java/io/opentelemetry/api/trace/TraceState.java
Co-authored-by: Anuraag Agrawal <anuraaga@gmail.com>
* formatting fix
* Convert the TraceStateBuilder into an interface.
* Introduce an intermediate class to get around classloading cycles.
* extract a method to remove an entry from the builder
* add a comment about the possible inefficiency in the implementation
Co-authored-by: Anuraag Agrawal <anuraaga@gmail.com>