Commit Graph

395 Commits

Author SHA1 Message Date
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
Armin Ruech db31f4a796
Rename StringUtils.isNullOrBlank to isNullOrEmpty (#806) 2020-01-29 10:29:11 -08:00
Bogdan Drutu d4cf312671
Rename spi providers to match {}Provider name (#800)
Signed-off-by: Bogdan Cristian Drutu <bogdandrutu@gmail.com>
2020-01-28 10:23:40 -08:00
Bogdan Drutu 01aece01a1
Remove bound support from Observers (#799)
* Remove bound support from Observers

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

* fix copyright

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

* Rename observer result method from put to observe

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

* Rename InstrumentWithBound to InstrumentWithBinding

Signed-off-by: Bogdan Cristian Drutu <bogdandrutu@gmail.com>
2020-01-27 10:21:44 -08:00
Bogdan Drutu bd4f3737d4
Add a new artifact context propagation (#754)
Signed-off-by: Bogdan Drutu <bogdandrutu@gmail.com>
2020-01-21 08:49:34 -08:00
Armin Ruech a7730e4edf Fix usage of context.Scope (#779) 2020-01-21 08:38:44 -08:00
Giovanni Liva 61b50a6d2e Add Measure metrics (#772)
* Add Long and Double Measure

* Add builders to MeterSdk

* Fix * import. Address feedback of @jkwatson

* Rename TestBound->TestBoundMeasure
2020-01-17 15:13:37 -08:00
John Watson 42bff3e922 Ignore null or blank string-valued span attributes. (#771)
* Ignore null or blank string-valued span attributes.

* also ignore null & blank strings on active span attributes.

* change to ignore at the AttributeValue level, rather than above
2020-01-17 15:10:15 -08:00
Tyler Benson 7b601b1ad0 Rename Setter.put to Setter.set (#769)
Improving consistency and cohesion of naming.
2020-01-17 13:54:07 -08:00
Carlos Alberto Cortez 5dfe74e18d Rename DistributedContext to CorrelationContext (#757)
* Rename DistributedContext to CorrelationContext in the API/SDK.

* Update the OT shim.

* Fix build.
2020-01-15 13:40:12 -08:00
John Watson f6a27c7eee Change LabelSet creation to use varargs, rather than overloaded k/v methods. (#745)
* switch to varargs

* update the sdk to handle the varargs option

* format

* rename a variable to make more sense

* add back a test with 2 key/value pairs

* replace the emptyLabelSet method with the empty varargs call
2020-01-14 10:57:40 -08:00
John Watson 1ff2c2a3fb Create a labelset with an arbitrary number of key/value pairs (#740)
* add a method to create a labelset with an arbitrary number of labels.

* add notnull annotations

* rebase for SDK implementation

* remove Nonnull annotations
2020-01-10 09:58:00 -08:00
John Watson cd40a37156 remove some more usages of the bare word "bound" (#739) 2020-01-08 13:57:20 -08:00
John Watson eacd073205 convert the SpanContext to use Autovalue (#708)
* convert the SpanContext to be autovalued

* remove the builder for the span context and the custom equals/hashcode implementation

* format
2020-01-08 13:38:15 -08:00
John Watson 91053c45c8 rename the factories to registries (#725) 2020-01-06 20:11:02 -05:00
John Watson 47ed1b1808 more renaming of Metric to Instrument (#722) 2019-12-27 12:45:00 -08:00
John Watson 23cc506d26 Rename Metric to Instrument (#717)
* rename the Metric interface to Instrument, and update many javadocs to match

* apply formatting
2019-12-25 07:26:00 -08:00
John Watson fc9a9575c8 Add non bound usage to the various metric instruments API (#715)
* WIP on non-bound instrument usages

* Add API methods for non-bound-instrument usages

* add missing javadoc

* add some additional javadoc
2019-12-19 16:28:03 -08:00
John Watson a8d14d8886 provide an API method to return an empty LabelSet (#716)
* provide an API method for an empty LabelSet

* remove the TestLabelSet now that we have a way to create an empty one
2019-12-18 14:04:55 -08:00
John Watson 95da446cee rename metric instances to have the numeric type before the metric type (#712) 2019-12-18 11:38:24 -08:00
John Watson bc627e67cf Remove default bound (#707)
* remove the getDefaultBound methods

* provide a TestLabelSet for testing
2019-12-18 10:18:52 -08:00
John Watson 7505c1297f rename getBound/removeBound to bind/unbind (#704) 2019-12-16 16:06:22 -08:00
Bogdan Drutu f1e6fc6ef0
Simply rename metrics Handle to Bound. (#698)
* Simply rename metrics Handle to Bound.

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

* More renames in tests

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

* Rename Bound to Bound[ValueType][MetricType]

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

* Fix bound param comment

Signed-off-by: Bogdan Drutu <bogdandrutu@gmail.com>
2019-12-16 15:06:20 -08:00
Christian Neumüller 9afb1e4059 Javadoc: Tracer is not simple (#687) 2019-12-06 18:56:53 -06:00
Carlos Alberto Cortez 74c6595e67
Allow recording attributes in Span.Builder (#685)
* Initial support for attributes set in Span.Builder.
2019-12-05 12:49:17 -06:00
Bogdan Drutu 7ab95be319
Add LabelSet to the Meter API and change GetHandle to use it. (#681)
* Add LabelSet to the Meter API and change GetHandle to use it.

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

* Add clarification in LabelSet javadoc

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

* Update api/src/main/java/io/opentelemetry/metrics/DefaultMeter.java

Co-Authored-By: Armin Ruech <armin.ruech@gmail.com>

* Update api/src/main/java/io/opentelemetry/metrics/DefaultMeter.java

Co-Authored-By: Armin Ruech <armin.ruech@gmail.com>

* Update api/src/main/java/io/opentelemetry/metrics/DefaultMeter.java

Co-Authored-By: Armin Ruech <armin.ruech@gmail.com>

* Update api/src/main/java/io/opentelemetry/metrics/DefaultMeter.java

Co-Authored-By: Armin Ruech <armin.ruech@gmail.com>
2019-11-27 12:53:29 -08:00
Bogdan Drutu 1a3fefb2e9
Rename MeasureBatchRecorder to BatchRecorder to allow other types to be recorded. (#675)
* Rename MeasureBatchRecorder to BatchRecorder to allow other types to be recorded.

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

* ./gradlew goJF

Signed-off-by: Bogdan Drutu <bogdandrutu@gmail.com>
2019-11-17 09:32:09 -08:00
Peter Travers ffafe25d0a Add named meter and meter factory (#668)
* Add named meters with factory provider

* Fix documentation to instantiate a meter from a meter factory

* Fix documentation incorrectly referencing meter not meter factory

* Fix MeterFactor not Meter

Co-Authored-By: Armin Ruech <armin.ruech@gmail.com>

* Fix MeterFactor not Meter

Co-Authored-By: Armin Ruech <armin.ruech@gmail.com>

* Fix MeterFactory not Meter

Co-Authored-By: Armin Ruech <armin.ruech@gmail.com>

* Fix over 100 characters in line

* Refactor meter example names to my_library_example
2019-11-13 13:25:54 -08:00
Armin Ruech 5e745481aa Add instrumentation library resource to named tracers (#632)
* Add instrumentation library resource to named tracers

* Introduce constants for library resource label keys

* Introduce InstrumentationLibraryInfo class to replace library resource
2019-10-31 12:53:45 -07:00
Carlos Alberto Cortez 25416034c3 Add explicit timestamp for Span events in the API. (#631) 2019-10-25 09:38:55 -07:00
Bogdan Drutu 9c207f7459
Set default binary propagator. (#630)
Signed-off-by: Bogdan Drutu <bogdandrutu@gmail.com>
2019-10-24 19:16:07 -07:00
Bogdan Drutu c2f9168e8f
Move sampler to the SDK (#625)
* Move sampler to the SDK

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

* Fix javadoc

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

* Update sdk/src/main/java/io/opentelemetry/sdk/trace/config/TraceConfig.java

Co-Authored-By: Armin Ruech <armin.ruech@gmail.com>
2019-10-24 11:06:32 -07:00
Bogdan Drutu 0b21928db5
Add isRemote to the SpanContext (#626)
Signed-off-by: Bogdan Drutu <bogdandrutu@gmail.com>
2019-10-24 08:22:55 -07:00
Bogdan Drutu c24e4a9636
Some minor cleanups (#627)
Signed-off-by: Bogdan Drutu <bogdandrutu@gmail.com>
2019-10-23 19:48:40 -07:00
Bogdan Drutu d6befaf711
Remove special timestamp definition (#619)
* Remove sepcial timestamp definition

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

* Update api/src/main/java/io/opentelemetry/trace/Span.java

Co-Authored-By: Armin Ruech <armin.ruech@gmail.com>

* ./gradlew goJF

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

* fix build

Signed-off-by: Bogdan Drutu <bogdandrutu@gmail.com>
2019-10-22 18:14:55 -07:00
John Watson 60ba3b7547 Add named tracers to the API (#584)
* A rough idea of how named tracers might look in the API.

* update to require at least a name for the tracer

* Introduce another layer of factory for the provider

* remove convenience tracer methods from the OpenTelemetry class.

* Update api/src/main/java/io/opentelemetry/trace/spi/TracerFactoryProvider.java

Co-Authored-By: Armin Ruech <armin.ruech@gmail.com>

* Update api/src/main/java/io/opentelemetry/trace/TracerFactory.java

Co-Authored-By: Armin Ruech <armin.ruech@gmail.com>

* Add clarifying javadoc, per PR review

* reverse who calls whom
2019-10-21 17:36:17 -07:00
Bogdan Drutu 9c60dc1a09
Move utils from API to SDK. (#613)
Signed-off-by: Bogdan Drutu <bogdandrutu@gmail.com>
2019-10-14 17:45:33 -07:00
Bogdan Drutu 4ffa516a6a
Move utils/Samplers from API to SDK Samplers (#614)
Signed-off-by: Bogdan Drutu <bogdandrutu@gmail.com>
2019-10-14 15:34:51 -07:00
Bogdan Drutu 12ca38aa2f
Remove setRecordEvents option from the Span.Builder (#606)
* Remove setRecordEvents option from the Span.Builder

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

* Fix build, remove unnecessary overrides

Signed-off-by: Bogdan Drutu <bogdandrutu@gmail.com>
2019-10-12 11:32:54 -07:00
Bogdan Drutu 7c95af2a0e
Rename isRecordingEvents to isRecording (#607)
Signed-off-by: Bogdan Drutu <bogdandrutu@gmail.com>
2019-10-11 16:09:28 -07:00
Carlos Alberto Cortez 0612372fd4 Add explicit timestamp support for Span start/end. (#571)
* Allow explicit Timestamp values for Span start/end.

* Update the code after merging master.

* Set end/start options only for the API.

* Add a clarification on setStartTimestamp().

* Make EndSpanOptions.getDefault() package private for now.
2019-10-11 08:34:45 -07:00
Jason Plumb 58aa8d3468 Per spec change, allow start digit and @. (#563)
* Per spec change, allow start digit.  Fixes #562

* reject multiple at signs

* reformat

* remove redundant check
rename method to match its usage

* return to a negatively named method that is more clear

* add a todo to benchmark the key validation code

* formatting
2019-10-04 12:37:02 -04:00
Bogdan Drutu 08c6d52109
Remove all APIs that allow passing context or other entries from the Context. (#582)
* Allow passing Context to all metrics

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

* Remove all versions that accept Context

Signed-off-by: Bogdan Drutu <bogdandrutu@gmail.com>
2019-10-01 20:10:43 -07:00
Bogdan Drutu 1aa49037df
Update errorprone, remove stale disabled checks. (#579)
Signed-off-by: Bogdan Drutu <bogdandrutu@gmail.com>
2019-09-30 11:43:23 -07:00
Bogdan Drutu 9a6c1d69d1
Move timestamp to common because it is shared by trace and metrics (#570)
Signed-off-by: Bogdan Drutu <bogdandrutu@gmail.com>
2019-09-26 18:08:37 -07:00
Bogdan Drutu a86f034e85
Add tests for observer and all uncovered methods. (#568)
* Add tests for observer and all uncovered methods.

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

* More tests and update names

Signed-off-by: Bogdan Drutu <bogdandrutu@gmail.com>
2019-09-26 16:17:02 -07:00
Bogdan Drutu 85e4fe3b66
Add a no-op abstract observer builder to avoid duplicate code (#565)
Signed-off-by: Bogdan Drutu <bogdandrutu@gmail.com>
2019-09-24 17:12:41 -07:00
Bogdan Drutu 1ee12511b3
Small cleanup to remove some duplicate code. (#561)
Signed-off-by: Bogdan Drutu <bogdandrutu@gmail.com>
2019-09-24 12:40:26 -07:00
Bogdan Drutu 577a448f49
Remove Set from Counters, based on specs only Add. (#560)
Signed-off-by: Bogdan Drutu <bogdandrutu@gmail.com>
2019-09-24 12:25:10 -07:00
Bogdan Drutu 81f283f20f
Remove Add from Gauges, based on specs only Set. (#559)
* Remove Add from Gauges, based on specs only Set.

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

* Update GagueDouble handle name in the example.

* Update handle name in GaugeLong example.
2019-09-24 12:17:54 -07:00
Bogdan Drutu 646135f056
Remove addLink API from the Span (#558)
* Remove addLink API from the Span

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

* Add javadoc and remove unnecessary null check.

Signed-off-by: Bogdan Drutu <bogdandrutu@gmail.com>
2019-09-24 12:03:31 -07:00
Bogdan Drutu 5f530a000a
Add monotonic option for Gauge/Observer/Counter (#556)
* Add the monotonic option when creating a Metric

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

* Change runtime metrics to set the right monotonic property

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

* Update to use monotonic only for gauge, counter and observer

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

* Update api/src/main/java/io/opentelemetry/metrics/Counter.java

Co-Authored-By: Yang Song <songy23@users.noreply.github.com>

* Fix style.
2019-09-24 11:04:44 -07:00
Bogdan Drutu ab9230bb42
Small fixes for javadoc in metrics (#553)
Signed-off-by: Bogdan Drutu <bogdandrutu@gmail.com>
2019-09-20 15:03:41 -07:00
Bogdan Drutu 2c6c687b5e
Add metric observer and remove setCallback from Metric base class (#548)
* Add metric observer and remove setCallback from Metric base class

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

* Fix javadoc and formatting

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

* Update api/src/main/java/io/opentelemetry/metrics/Meter.java

Co-Authored-By: Yang Song <songy23@users.noreply.github.com>

* Update api/src/main/java/io/opentelemetry/metrics/Meter.java

Co-Authored-By: Yang Song <songy23@users.noreply.github.com>

* Update javadoc for observerLongBuilder

* Update api/src/main/java/io/opentelemetry/metrics/Observer.java

Co-Authored-By: Yang Song <songy23@users.noreply.github.com>

* Update api/src/main/java/io/opentelemetry/metrics/Observer.java

Co-Authored-By: Yang Song <songy23@users.noreply.github.com>

* Update api/src/main/java/io/opentelemetry/metrics/Meter.java

Co-Authored-By: Yang Song <songy23@users.noreply.github.com>

* Update api/src/main/java/io/opentelemetry/metrics/Meter.java

Co-Authored-By: Yang Song <songy23@users.noreply.github.com>
2019-09-19 12:19:40 -07:00
Bogdan Drutu 8be6a282b5
Make Measure a Metric and add support for Handle. (#539)
Signed-off-by: Bogdan Drutu <bogdandrutu@gmail.com>
2019-09-18 13:16:09 -07:00
Bogdan Drutu de4f3bcfc5
Move Resource package to SDK (#538)
Signed-off-by: Bogdan Drutu <bogdandrutu@gmail.com>
2019-09-17 16:50:08 -07:00
Bogdan Drutu 6345e47417
Remove capability to set a resource for metrics construction (#512) 2019-09-11 12:16:57 -07:00
Yang Song 63109827ea Rename TraceOptions to TraceFlags (#524) 2019-09-11 11:54:15 -07:00
Bogdan Drutu 55717b880c
Enforce name restriction for all the metrics (#511)
* Enforce name restriction for all the metrics

* Add more tests and thrown annotation to the API
2019-08-23 12:41:27 -07:00
Bogdan Drutu 0c5bbb127f
Fix tests and add more coverage (#510) 2019-08-23 10:53:20 -07:00
Bogdan Drutu 8c3aabf487
Remove clean from metrics. (#509) 2019-08-22 17:48:47 -07:00
Bogdan Drutu d8f37b33b7
Rename Timeseries with Handle. (#508) 2019-08-22 17:27:03 -07:00
Bogdan Drutu 66a15d3bd5
Fix android 14 build for sdk. (#505) 2019-08-20 14:21:53 -07:00
Bogdan Drutu 5d6fae1869
Add thread safe annotations for the public API. (#501) 2019-08-20 08:21:13 -07:00
Bogdan Drutu c1a60bb1b9
Add the capability to record a batch of measurements. (#500)
* Add the capability to record a batch of measurements.

* Rename meter method name, add more tests.

* Add tests for not throwing exceptions.
2019-08-19 16:42:57 -07:00
Bogdan Drutu 2e0f703495
Remove SpanData per the RFC. (#495)
* Remove SpanData per the RFC.

* Fix review comments.

* Add more tests.

* Remove all references to SpanData.
2019-08-19 13:57:10 -07:00
Bogdan Drutu 5ac25d0a36
Fix the build after LabelKey was removed and Measure was added. (#497) 2019-08-15 16:07:10 -07:00
Bogdan Drutu 5f87aff868
Remove record from Meter and add Measure type with record. (#488)
* Remove record from Meter and add Measure type with record.

* Add more tests.

* Fix tests.
2019-08-15 15:03:07 -07:00
Bogdan Drutu 0a0032bd0e
Remove description from LabelKey and use directly String. (#489) 2019-08-15 09:35:52 -07:00
qudongfang fc74e77ae6 Fix service provider not found exception message (#491)
* Fix service provider not found exception message.

Signed-off-by: qudongfang <qudongfang@gmail.com>

* Format with google java style.

Signed-off-by: qudongfang <qudongfang@gmail.com>
2019-08-14 19:29:26 -07:00
Bogdan Drutu 9ede324d9d
Remove unnecessary LabelValue object. (#433)
* Remove unnecessary LabelValue object.

* Remove the LabelValue class and all usages.
2019-08-13 16:21:28 -07:00
Yang Song f42b6dc41b Fix all typos (#473)
Changes are generated with
$ make misspell-correction

See https://github.com/client9/misspell
2019-08-05 18:35:06 +02:00
Chris Kleinknecht 0478651e34 Fix typo in isRecordingEvents (#470) 2019-07-24 09:55:12 +03:00
Yang Song ada4edaa56 Change the order of measure type enum to match specs. (#458) 2019-07-03 11:41:03 -07:00
Yang Song 7471a94506 Change Sampler.shouldSample to accept list of Link. (#455)
* Change Sampler.shouldSample to accept list of SpanContext.

Fixes #437

* Improve test coverage.

* Change Sampler signature shouldSample to accept list of Links.
2019-07-01 16:44:55 -07:00
Yang Song da7ad86bee Move HTTP and binary trace context format to trace.propagation. (#450) 2019-06-28 10:23:01 -07:00
Yang Song a9054017f0 Return DefaultSpan if not recording events. Implement TracerSdk.shutdown(). (#447)
* Return DefaultSpan if not recording events.

Fixes #438

* Implement TracerSdk.shutdown().

Fixes #444.

* Fix review comments.

* Ignore recordEvent or sampler if already shut down.

* Remove isStopped. Fix synchronization.

* Improve test coverage.
2019-06-28 09:59:05 -07:00
Yang Song 5a1681855f Rename TraceContextFormat to HttpTraceContext. (#449) 2019-06-28 09:29:54 -07:00
Yang Song 3b6d6c5b17 Implement binary format on SpanContext. (#446)
* Implement binary format on SpanContext.

Fixes #443.

* Rename to BinaryTraceContext.
2019-06-28 09:17:33 -07:00
Armin Ruech 36f80e1fdc Change DistributedContextSdk.Builder to use current dctx as implicit parent (#439)
* Change DistributedContextSdk.Builder to use current DistributedContext as implicit parent if none is provided explicitly

* Change DistributedContext.setNoParent to prevent inheriting an implicit context

* Clarify doc for DistributedContext.setNoParent

* Disallow null for DistributedContext.setParent
2019-06-27 14:20:54 -07:00
Yang Song 6378db90fe Replace DistributedContext.getIterator with getEntries. (#429)
* Replace DistributedContext.getIterator with getEntries.

Fixes #401.

* Clarify immutability in javadoc.
2019-06-27 10:38:29 -07:00
Pavol Loffay bff193d462 Connect span builder and span in SDK (#430)
* Connect span builder and span in SDK

Signed-off-by: Pavol Loffay <ploffay@redhat.com>

* Use proto in tests

Signed-off-by: Pavol Loffay <ploffay@redhat.com>

* Remove

Signed-off-by: Pavol Loffay <ploffay@redhat.com>

* Fix comments

Signed-off-by: Pavol Loffay <ploffay@redhat.com>

* Fix review comments

Signed-off-by: Pavol Loffay <ploffay@redhat.com>

* Add sampling attributes to span

Signed-off-by: Pavol Loffay <ploffay@redhat.com>

* Remove line

Signed-off-by: Pavol Loffay <ploffay@redhat.com>
2019-06-27 10:28:58 -07:00
Armin Ruech ed42237b6c Remove DistributedContext.Builder.buildScoped() (#428)
* Remove DistributedContext.Builder.buildScoped()

* Specify default parent for DistributedContext
2019-06-25 11:01:39 -07:00
Pavol Loffay e715cd2d40 Remove public abstract from interface (#435)
Signed-off-by: Pavol Loffay <ploffay@redhat.com>
2019-06-25 10:27:34 -07:00
Yang Song 22fde62aba Fix a potential ClassLoader deadlock and add missing Javadocs. (#411)
* Fix a potential ClassLoader deadlock and add missing Javadocs.
2019-06-22 16:18:04 +02:00
Yang Song 1511e1b482 Fix all errorprone warnings, ignore genproto files. (#414)
Fixes #375.
Fixes #182.
2019-06-19 18:09:43 -07:00
Armin Ruech 8520de5581 Tracer API: Fix doc regarding default propagation formats (#405) 2019-06-17 19:05:22 +02:00
Yang Song 69e2c48628 Fix an incorrect javadoc. (#407) 2019-06-14 18:15:08 -04:00
Carlos Alberto Cortez 7222d37ee1
Make SpanData take *base* Link objects. (#403)
We were taking SpanData.Link objects instead.
2019-06-12 22:38:44 +02:00
Carlos Alberto Cortez 50a2db42b2 Rename tags to dctx (#381)
* Rename tags to dctx (and related members).

* Implement the renamed dctx layer for the Sdk.

* Fix inline doc.

* Rename dctx to distributedcontext.

* Rename distributedcontext Attribute* to Entry*.

* Rename dctx to distributedcontext in the Sdk.

* Update the recently added SDK classes.
2019-06-10 11:24:54 -07:00
Yang Song 7684efbcb8 Use random IDs instead of invalid in default span. (#382)
* Use random IDs instead of invalid in default span.

* Add getInvalid API.
2019-06-10 08:58:24 -07:00
Bogdan Drutu b0a49827aa
Remove fully qualified Samplers class in comments. (#398) 2019-06-07 14:51:05 -07:00
Pavol Loffay cb0e85d433 Move samplers to util package (#396)
* Move samplers to util package

Signed-off-by: Pavol Loffay <ploffay@redhat.com>

* Move tests

Signed-off-by: Pavol Loffay <ploffay@redhat.com>
2019-06-07 14:28:35 -07:00
Yang Song bfe56101d1 More cleanup on static variables. (#397) 2019-06-07 13:22:29 -07:00
Carlos Alberto Cortez c2c7ed4975 Make Link an interface. (#395)
* Make Link an interface.

* Rename LinkTest to SpanDataLinkTest.
2019-06-07 09:45:10 -07:00
Yang Song fb0f5339cd Make invalid SpanContext package-private. (#394) 2019-06-06 14:26:04 -07:00
Yang Song 27af3a17c3 Rename Blank SpanContext to Invalid. (#383) 2019-06-06 12:48:41 -07:00
Bogdan Drutu f2f353d0f1
Fix examples in Meter. (#384) 2019-06-06 11:49:04 -07:00
Pavol Loffay c62fe501b8 Remove resource setter and getter from Tracer (#387)
Signed-off-by: Pavol Loffay <ploffay@redhat.com>
2019-06-06 11:33:22 -07:00
Carlos Alberto Cortez c75cc68123 Clean up the Link handling in Span. (#388)
* Clean up the Link handling in Span.

* Update api/src/main/java/io/opentelemetry/trace/Span.java

Co-Authored-By: Armin Ruech <armin.ruech@gmail.com>

* Update api/src/main/java/io/opentelemetry/trace/Span.java

Co-Authored-By: Armin Ruech <armin.ruech@gmail.com>
2019-06-06 11:30:07 -07:00
Pavol Loffay 4bbb74dee2 Fix comment in startSpan (#386)
Signed-off-by: Pavol Loffay <ploffay@redhat.com>
2019-06-06 09:10:19 -07:00
Carlos Alberto Cortez bdfdeef7e7 API: Have TraceId/SpanId constructors taking long values. (#365)
* Have TraceId/SpanId constructors taking long values.

* Add a clarification on the TraceId/SpanId ctors taking longs.

* Add one more small note about equivalency.
2019-06-05 17:01:02 -07:00
Yang Song f62dbff017 Use static methods instead of variables. (#379)
* Each DefaultSpan has a unique span id. Remove INSTANCE.

* Use static methods instead of variables. Fixes #309.

* Fix the order of static fields.

* Revert random SpanId from this PR.
2019-06-05 16:34:53 -07:00
Yang Song 4172855fcd Rename BlankSpan to DefaultSpan. (#376) 2019-06-05 13:14:39 -07:00
Yang Song c298234a9b Fix a stale Javadoc. (#377) 2019-06-05 08:58:28 -07:00
Carlos Alberto Cortez 005db45a0f Fix comment for addEvent() as there is no setAttributes() anymore. (#370) 2019-06-03 14:27:28 -07:00
Carlos Alberto Cortez db59b5e10b Fix comment for Span.end() as there's no overload taking options anymore. (#371) 2019-06-03 14:27:05 -07:00
Carlos Alberto Cortez 16477dc96f Add a small clarification on Span.Builder.setNoParent(). (#364)
* Add a small clarification on Span.Builder.setNoParent().

* Add a comment for setParent() too.
2019-05-31 12:55:42 -07:00
Yang Song 0a0a27eeeb Rename package resource to resources. (#366)
* Rename package resource to resources.

Fixes #259.

* One more replace.
2019-05-31 12:55:02 -07:00
Yang Song 32fad432ca Add a note in SpanData documentation. (#361) 2019-05-30 17:15:25 -07:00
Tyler Benson d0e397cc9a Move [Span|TagMap]InScope and share between api/sdk (#348)
* Move [Span|TagMap]InScope and share between api/sdk

Removes duplication between the two projects

Fixes #333

* Add javadocs to new classes.

* Add @since attributes to javadocs

* Remove CurrentTagMapUtils

* Route scope creation through ContextUtils

and make scope classes access restricted.
2019-05-30 10:53:28 -07:00
Carlos Alberto Cortez 2afd4d3be5 Apply same logic for parent to TagMap as we do for Span. (#356) 2019-05-30 08:52:33 -07:00
Bogdan Drutu 4a3a335491
Move simple samplers to the Samplers class. (#360) 2019-05-30 08:03:44 -07:00
Bogdan Drutu 4ca9c116f0
Replace deprecated isSameAs with isSameInstanceAs. (#359)
* Replace deprecated isSameAs with isSameInstanceAs.

* ./gradlew goJF
2019-05-29 21:02:28 +03:00
Pavol Loffay ade08cdcd2 Return sampler decision with tags from Sampler (#339)
* Make sampler return sampling decision

Signed-off-by: Pavol Loffay <ploffay@redhat.com>

* Fix review comments

Signed-off-by: Pavol Loffay <ploffay@redhat.com>

* Use package visibility

Signed-off-by: Pavol Loffay <ploffay@redhat.com>

* Define as final

Signed-off-by: Pavol Loffay <ploffay@redhat.com>

* Rename do decision and fix javadoc

Signed-off-by: Pavol Loffay <ploffay@redhat.com>

* Make it package private

Signed-off-by: Pavol Loffay <ploffay@redhat.com>

* Rename to simpledecision

Signed-off-by: Pavol Loffay <ploffay@redhat.com>
2019-05-27 15:34:43 +03:00
Bogdan Drutu fc87e7593e
Change DefaultTagger to propagate the TagMap in the process. (#332) 2019-05-22 16:17:49 +02:00
Bogdan Drutu 3a7e634260
Rename Noop[Tracer|Tagger|Meter] to Default[Tracer|Tagger|Meter]. (#321)
* Rename Noop[Tracer|Tagger|Meter] to Default[Tracer|Tagger|Meter].

* Update variable names to default[Tracer|Tagger|Meter].
2019-05-21 13:33:17 +02:00
Carlos Alberto Cortez 792ffa9c59
Make TimedEvent accept io.opentelemetry.trace.Event objects. (#328) 2019-05-20 18:21:16 +02:00
Pavol Loffay eb832c9116
Define noop tracer/metrer/tagger as singletons (#322)
Signed-off-by: Pavol Loffay <ploffay@redhat.com>
2019-05-20 09:25:07 +02:00
Pavol Loffay 911b4cbc89
Prohibit returning null in extract javadoc (#327)
* Prohibit returning null in extract javadoc

Signed-off-by: Pavol Loffay <ploffay@redhat.com>

* Fix

Signed-off-by: Pavol Loffay <ploffay@redhat.com>
2019-05-17 19:53:10 +02:00
Carlos Alberto Cortez c8f0f7cf9c
Span parent cleanup (#296)
* Set the Span's parent from its Builder.
* Add Span.Builder.setNoParent().
2019-05-17 18:30:50 +02:00
Pavol Loffay 3c30af2bc5
Fix tracer provider javadoc (#324)
Signed-off-by: Pavol Loffay <ploffay@redhat.com>
2019-05-17 18:03:47 +02:00
Bogdan Drutu 7f4d9536ad
Make Event interface. (#317) 2019-05-17 01:46:20 -07:00
Bogdan Drutu 3c022ba9d8
Update Link comments in Span (#318)
* Update Link comments in Span

* ./gradlew goJF
2019-05-16 07:08:15 -07:00
Bogdan Drutu 584b31fb1a
Rename noop classes to NoopMainClass. (#315) 2019-05-16 06:48:52 -07:00
Bogdan Drutu 6ff77bc50b
Make Sampler an interface. (#316) 2019-05-15 18:11:49 -07:00
Bogdan Drutu ed5bfc6d26
Add support to directly interact with current Context in the unsafe for tags. (#314) 2019-05-15 17:26:06 -07:00
Pavol Loffay f11a0186ba Propagate span context in noop (#301)
* Propagate span context in noop

Signed-off-by: Pavol Loffay <ploffay@redhat.com>

* Remove comment

Signed-off-by: Pavol Loffay <ploffay@redhat.com>
2019-05-15 16:58:18 -07:00
Pavol Loffay 3937226790 Clarify Link javadoc (#304)
* Clarify Link javadoc

Signed-off-by: Pavol Loffay <ploffay@redhat.com>

* Revert and remove different

Signed-off-by: Pavol Loffay <ploffay@redhat.com>
2019-05-15 09:29:30 -07:00
Pavol Loffay 16a04488e1
Move providers to component.spi packages (#303)
Signed-off-by: Pavol Loffay <ploffay@redhat.com>
2019-05-15 09:32:22 +02:00
Bogdan Drutu db6b5fb96e
Cleanup ContextUtil usages. (#306) 2019-05-14 16:19:05 -07:00
Pavol Loffay e143bccfb6
Add tagger to global registry (#299)
Signed-off-by: Pavol Loffay <ploffay@redhat.com>
2019-05-14 16:04:32 +02:00
Pavol Loffay 33e9c0e3ba
Propagate blank span through context (#258)
Signed-off-by: Pavol Loffay <ploffay@redhat.com>
2019-05-14 15:46:25 +02:00
Pavol Loffay 8022e33bc6
Use w3c tracecontext format in noop tracer (#274)
Signed-off-by: Pavol Loffay <ploffay@redhat.com>
2019-05-14 14:10:07 +02:00
Pavol Loffay 92015fee1a
Add W3C tracecontext propagation (#273)
* Add W3C tracecontext propagation

Signed-off-by: Pavol Loffay <ploffay@redhat.com>

* Remove empty line

Signed-off-by: Pavol Loffay <ploffay@redhat.com>
2019-05-13 17:14:46 +02:00
Bogdan Drutu ba185fd18c
Fix the build because of the race merge between spi Meter and remove Stats. (#271) 2019-05-12 14:56:36 -07:00