* Add benchmarks for metrics API
* update to meet Google Java style guidelines
* reduce code duplication in measurements
Split measurements and SDKs into two enums that can
be pulled together into a matrix, which has an
additional benefit that comparable metrics are
pulled onto the same scale in the JMH visualizer
* remove generics from tested operation, clean up construction
* 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>
* add a very basic benchmark for the span implementation
* small refactoring to make it clear what we're doing.
* remove the spandata conversion and name the methods more explicitly
* Add a helper class that reads metrics every X seconds.
Signed-off-by: Bogdan Cristian Drutu <bogdandrutu@gmail.com>
* Adress review feedback
Signed-off-by: Bogdan Cristian Drutu <bogdandrutu@gmail.com>
* a few final cleanups
* Make the shutdown block until all the tasks are complete (or 5 seconds, whichever is shorter)
* only run the final export if we can shut down the executor properly
Co-authored-by: Bogdan Cristian Drutu <bogdandrutu@gmail.com>
* add dropped attribute count to SpanData, Link and Event
# Conflicts:
# sdk/src/main/java/io/opentelemetry/sdk/trace/data/SpanData.java
* add private field and update constructor for dropped attr count
* add dropped attribute count to SpanData, Link and Event
* update count to type to int
* remove droppedAttributeCound from api interfaces
* use static int for default value in MessageEvent
* add missing return description for SpanData
* fix up some SpanDataTests
* remove unnecessary methods on Link
* fix linting warning for spacing
* revert changes to MessageEvent
* Initial relocation of ContextUtils classes.
Now they will live within the child `propagation` package,
with a prefix based on their cross-cutting concern, to be
referenced easily.
* Implement collectAll for observers, need to still install default aggregation
Signed-off-by: Bogdan Cristian Drutu <bogdandrutu@gmail.com>
* Move result callbacks as inner classes.
Signed-off-by: Bogdan Cristian Drutu <bogdandrutu@gmail.com>
* Add aggregators for double & long MinMaxSumCount aggregations
* use the count to signal un-set min/max values
* make the aggregator constructors private; use the factories for access
* simplify the merge and reset
* early return & fix the default double values.
* Add collectAll method to the Meter and MeterProvider
Signed-off-by: Bogdan Cristian Drutu <bogdandrutu@gmail.com>
* Minor fixes from the review.
Signed-off-by: Bogdan Cristian Drutu <bogdandrutu@gmail.com>
* Plugin the InstrumentRegistry and register all created instruments
Signed-off-by: Bogdan Cristian Drutu <bogdandrutu@gmail.com>
* Update comments, use instrument equals.
Signed-off-by: Bogdan Cristian Drutu <bogdandrutu@gmail.com>
* Add a first implementation for LastValue aggregator for Observers
Signed-off-by: Bogdan Cristian Drutu <bogdandrutu@gmail.com>
* Fix issue when last value aggregation has no records.
Signed-off-by: Bogdan Cristian Drutu <bogdandrutu@gmail.com>
* Avoid calling processors that do not require an event.
Signed-off-by: Bogdan Cristian Drutu <bogdandrutu@gmail.com>
* Add tests for NoopSpanProcessor
Signed-off-by: Bogdan Cristian Drutu <bogdandrutu@gmail.com>
* More gradle cleanups, separate jmh and jmhreport config
Signed-off-by: Bogdan Cristian Drutu <bogdandrutu@gmail.com>
* Remove the need to includ jmhreport
Signed-off-by: Bogdan Cristian Drutu <bogdandrutu@gmail.com>
* Only projects with the plugin maven-publish will be published
Signed-off-by: Bogdan Cristian Drutu <bogdandrutu@gmail.com>
* first implementation of ForceFlush
* Update sdk/src/main/java/io/opentelemetry/sdk/trace/SpanProcessor.java
Co-Authored-By: John Watson <jkwatson@gmail.com>
* Rename flush -> shutdown. Add test
* Better wording in Javadoc
Co-authored-by: John Watson <jkwatson@gmail.com>
* Switch to use pluginManagement, Use gradle plugin for jmh.
Signed-off-by: Bogdan Cristian Drutu <bogdandrutu@gmail.com>
* Fix jmh report
Signed-off-by: Bogdan Cristian Drutu <bogdandrutu@gmail.com>
* Use ' for the moment for plugin ids in main gradle