Commit Graph

337 Commits

Author SHA1 Message Date
Carlos Alberto Cortez 68bac8f431
Move B3/Jaeger propagators to their own contrib artifact (#1098) 2020-04-10 18:03:09 +02:00
John Watson 73858ccf7b
Let the carrier be null on the inject methods, to support possible lambda usages (#1088) 2020-04-09 22:23:26 +02:00
John Watson 8b0fcfbc99
simple benchmarks for the default tracer APIs (#1090)
* simple benchmarks for the default tracer APIs
* do some painful gyrations to make the animalsniffer happy
2020-04-08 14:05:10 -07:00
John Watson 7d4576e7f7
Use a reentrant lock as the mutex for initializing/reading the global instance (#1071) 2020-04-03 21:59:49 +02:00
John Watson 5ceff22cc6
fix a typo in the SemanticAttributes (#1078) 2020-04-03 20:34:49 +02:00
jarebudev b14a2dd87d
added jaeger propagator and tests (#1046)
* 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
2020-04-02 08:27:36 -07:00
Bogdan Drutu 1f97c4bce0
Small fixes for #758 (#1057)
Signed-off-by: Bogdan Drutu <bogdandrutu@gmail.com>
2020-03-30 21:33:19 -07:00
Kevin Brockhoff 46ee284b0a
Define constants for semantic convention attribute names (#758)
* 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
2020-03-30 15:41:17 -07:00
Carlos Alberto Cortez 690651b65a
Context propagation update (OTEP 66) (#720)
* 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>
2020-03-20 13:38:05 -07:00
John Watson 8453bcb14a
Remove LabelSet from the API altogether. (#1023)
* remove LabelSet from the API surface altogether

* rename bindInternal to bind
2020-03-16 16:07:18 -07:00
John Watson 29297249ab
remove LabelSet from the Instrument binding API (#1010) 2020-03-16 13:38:10 -07:00
John Watson e248ea7ad7
Remove LabelSet from Observer API (#1008)
* Remove the LabelSet parameter on the DoubleCounter non-bound usage.

* remove LabelSet from the Observer API
2020-03-13 09:33:34 -07:00
John Watson 4d2a9f2bde
remove LabelSet from the BatchRecorder API. (#1006)
also removes a few more usages of the LabelSet interface.
2020-03-13 08:41:04 -07:00
Carlos Alberto Cortez 0ec6cca453
Rename the Context methods returning Scope as withCurrentContextWith() (#976) 2020-03-12 12:55:15 -07:00
John Watson efc49522ac
Remove LabelSet from non-bound instrument usage (#1001)
* Remove the LabelSet parameter on the DoubleCounter non-bound usage.

* remove non-bound labelset measure recording method

* remove non-bound labelset LongMeasure recording method

* remove non-bound labelset LongCounter recording method

* tidy up an access level
2020-03-12 12:54:43 -07:00
Mike Goldsmith 577bab0032
move AttributeValue to common package (#1005) 2020-03-12 12:54:00 -07:00
Mike Goldsmith 438ea8d24a
Add B3 propagator (#979) 2020-03-12 16:53:24 +01:00
Bogdan Drutu 4c7072a1e4
Add javadoc link to all readmes (#981)
Signed-off-by: Bogdan Cristian Drutu <bogdandrutu@gmail.com>
2020-03-09 14:32:22 -07:00
Bogdan Drutu 2080fe196c
Remove generic usage in the metrics API (#956)
Signed-off-by: Bogdan Cristian Drutu <bogdandrutu@gmail.com>
2020-03-09 14:31:55 -07:00
Carlos Alberto Cortez 1d913cb639
Initial relocation of ContextUtils classes. (#904)
* 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.
2020-03-08 18:34:46 +01:00
John Watson 6ca3d1deaf
Add missing thread safety & immutable annotations in the API. (#972) 2020-03-06 20:02:09 +01:00
Bogdan Drutu 01189f34c9
Add private ctor for singleton classes. (#957)
Signed-off-by: Bogdan Cristian Drutu <bogdandrutu@gmail.com>
2020-03-04 11:53:59 -08:00
Bogdan Drutu a395039e4f
Add default service provider for CorrelationContextManager. (#960)
Signed-off-by: Bogdan Cristian Drutu <bogdandrutu@gmail.com>
2020-03-04 10:38:31 -08:00
Carlos Alberto Cortez 26a4070d90
Remove Binary format and related members. (#891) 2020-03-03 08:47:41 -05:00
Uladzislau Kiva 43b59451ab
refactor: name method's according to return value and https://github.com/open-telemetry/opentelemetry-java/blob/master/QUICKSTART.md#tracing (#953) 2020-02-29 08:28:26 -08:00
Bogdan Drutu 1f202a95ea
Cleanup jmh and trace context benchmarks (#920)
Signed-off-by: Bogdan Cristian Drutu <bogdandrutu@gmail.com>
2020-02-24 13:56:58 -08:00
Bogdan Drutu 8c9f928340
Remove the exclusion of TestExceptionRefactoring from errorprone config. (#919)
Signed-off-by: Bogdan Cristian Drutu <bogdandrutu@gmail.com>
2020-02-24 11:36:35 -08:00
Bogdan Drutu 30e3bc8c63
Fix build after race condition between PRs merge (#917)
Signed-off-by: Bogdan Cristian Drutu <bogdandrutu@gmail.com>
2020-02-24 11:31:00 -08:00
Bogdan Drutu 5a09b818d9
More gradle cleanups (#910)
* 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>
2020-02-24 09:58:04 -08:00
John Watson f37f5dc8ac
Make the HttpTraceContext be more forgiving in the face of invalid data. (#899) 2020-02-24 18:38:46 +01:00
Bogdan Drutu a148263597
Switch to use pluginManagement, Use gradle plugin for jmh. (#903)
* 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
2020-02-21 10:19:51 -08:00
Uladzislau Kiva 1c7da07432
feat: make invalid span context public (#896) 2020-02-20 22:05:59 +01:00
Giovanni Liva b0d42dd4cc
Rename TracerRegistry -> Tracer Provider (#879)
* Rename TracerRegistry -> Tracer Provider

* Add comment to address the provider name

* gradlew goJF
2020-02-20 07:26:13 -08:00
Giovanni Liva 7d51abc5f9
Move metric check for name length (#893) 2020-02-20 07:24:06 -08:00
Carlos Alberto Cortez f4dea297be
Use Collections.emptyList() directly. (#892) 2020-02-19 21:27:23 -08:00
Bogdan Drutu 9e1882f06a
Fix errorprone errors and re-enable errorprone for jmh (#887)
Signed-off-by: Bogdan Cristian Drutu <bogdandrutu@gmail.com>
2020-02-19 10:57:16 -08:00
Giovanni Liva edbee8a19c
align valid metric names with spec (#877) 2020-02-19 08:11:02 -08:00
Uladzislau Kiva 1fced4898f
Http trace context benchmark (#815)
* test: add benchmarks for http trace context extract and inject

* test: add benchmarks for http trace context extract and inject

* docs: add docs

* style: apply google code style

* style: format jmh.gradle, use not deprecated archiveFileName

* test: add params for trace id and span id

* fix: fix merge conflicts

* feat: use HashMap move params to inner state

* feat: use same measurement params

* fix: apply google code style

* fix: extract span creation for more clear benchmark

* test: use vector of traceparents, increase iterations to 50k

* style: apply google code style

* feat: use vector of traceparents in inject benchmark
2020-02-18 14:36:06 -08:00
Giovanni Liva 9ae05f77b0
Rename MeterRegistry -> MeterProvider (#870)
* Rename MeterRegistry -> MeterProvider

* Remove extra code for independent PR

* Address review comments
2020-02-18 10:36:19 -08:00
John Watson 1e7239e74c
add the missing enclosing interface (#854) 2020-02-13 08:58:40 -08:00
John Watson 96cd311b87
Add a labelset to the creation of the batch recorder (#844)
* add a labelset to the creation of the batch recorder.

* add a tiny additional comment on the javadoc
2020-02-12 09:19:57 -08:00
John Watson 0014fff95b
Add counters to the batch recorder. (#838)
* Add counters to the batch recorder.
Also, allow non-monotonic batch recordings.

* remove the throws on the javadoc

* put the proper since tags on the new methods

* remove an import that seems only necessary for IDEA

* formatting
2020-02-11 06:27:32 -08:00
Bogdan Drutu e7be01474a
Move unbind to the Bound to simplify usage (#834)
* Move unbind to the Bound to simplify usage

Signed-off-by: Bogdan Cristian Drutu <bogdandrutu@gmail.com>

* Change names to be English friendly

Signed-off-by: Bogdan Cristian Drutu <bogdandrutu@gmail.com>
2020-02-07 12:57:39 -08:00
Bogdan Drutu 2dd7612477
Remove guage from the API. (#830)
Signed-off-by: Bogdan Cristian Drutu <bogdandrutu@gmail.com>
2020-02-07 07:20:41 -08:00
Giovanni Liva 54b5b2eff1
Fix API doc (#825) 2020-02-06 10:50:02 -08:00
Bogdan Drutu 7365426d85
Add @ThreadSafe annotation to Bounds (#820)
Signed-off-by: Bogdan Cristian Drutu <bogdandrutu@gmail.com>
2020-02-04 19:24:03 -08:00
Bogdan Drutu c2843a1c6d
Rename MeasureBatchRecorded to BatchRecorder (#817)
Signed-off-by: Bogdan Cristian Drutu <bogdandrutu@gmail.com>
2020-02-04 16:13:56 -08:00
Bogdan Drutu c19174ee53
Rename Tracestate to TraceState (#816)
* Rename Tracestate to TraceState

Signed-off-by: Bogdan Cristian Drutu <bogdandrutu@gmail.com>

* More renames

Signed-off-by: Bogdan Cristian Drutu <bogdandrutu@gmail.com>
2020-02-04 15:34:19 -08:00
Armin Ruech 5485e18280
Remove incorrect `@throws NullPointerException` in AttributeValue (#808) 2020-01-30 09:59:28 -08:00
Uladzislau Kiva 8b4c1488e9
Solves #767 HttpTraceContext should not throw exceptions for non-fatal cases (#782)
* fix: HttpTraceContext::extract() fails on traceparent == null (#767)

* fix: HttpTraceContext::extract() fails on traceparent == null (#767)

* fix: HttpTraceContext::extract() fails on traceparent == null (#767)

* docs: add an

* refactor: use invalid span context from HttpTraceContext

* style: apply google code style

Co-authored-by: Uladzislau Kiva <vladislav.kiva@moneyman.ru>
2020-01-29 13:38:23 -08:00