Commit Graph

172 Commits

Author SHA1 Message Date
jack-berg df65356cda
Post release 1.17.0 (#4690)
* Update version in docs

* japicmp

* Exclude opentelemetry-java-bot from contributors
2022-08-15 07:44:43 -05:00
Donnerbart 323174abae
Add metrics to ZipkinSpanExporter (#4501)
* Add metrics to the ZipkinSpanExporter

* Add distinct transport name for HTTP/JSON trace metrics

* Use :expoters:common

* Fix javadoc

Co-authored-by: Jack Berg <jberg@newrelic.com>
2022-08-12 10:57:46 -05:00
jack-berg 77be2e0136
Break out :exporters:common module (#4575)
* Break out :exporters:common module

* Comment out readme links

* spot
2022-08-08 08:28:24 -05:00
Mateusz Rzeszutek 91bd17e09b
Add AutoConfigurationCustomizer#addPropertiesCustomizer() extension p… (#4608)
* Add AutoConfigurationCustomizer#addPropertiesCustomizer() extension point

* jApiCmp

* Update sdk-extensions/autoconfigure/src/main/java/io/opentelemetry/sdk/autoconfigure/AutoConfiguredOpenTelemetrySdkBuilder.java

Co-authored-by: jack-berg <34418638+jack-berg@users.noreply.github.com>

* since

Co-authored-by: jack-berg <34418638+jack-berg@users.noreply.github.com>
2022-08-07 15:57:33 -05:00
jack-berg 1d63b2accd
Mark :extensions:annotations as deprecated (#4659) 2022-08-07 15:56:45 -05:00
jack-berg 21abfa2b57
Add ConfigurableLogExporterProvider (#4636) 2022-07-28 15:04:45 -05:00
jack-berg facbf4fb9e
Add default implementations for getInstrumentationScopeInfo methods (#4640) 2022-07-27 17:54:29 -05:00
Mateusz Rzeszutek 467a275825
Add ordering to autoconfigure SPIs (#4609)
* Add ordering to autoconfigure SPIs

* jApiCmp

* comments
2022-07-27 17:37:02 -05:00
jack-berg 6f4a24cd61
Post 1.16.0 release (#4607) 2022-07-15 01:43:30 -05:00
jack-berg d2a8304b9b
Otlp exporter default aggregation (#4557)
* Add default aggregation selector option to OTLP metric exporters

* change compose to with
2022-07-05 10:21:04 -05:00
jack-berg 0860b3884b
MetricReader and MetricExporter can determine default aggregation by instrument (#4472)
* MetricReader and MetricExporter can determine default aggregation by instrument

* Add since annotations
2022-06-28 15:39:26 -05:00
HaloFour 31be1dcc3f
Add helper to SpanDataAssert to assert that span status satisfies a condition (#4469)
* Add helper to SpanDataAssert to assert that span status satisfies a condition

* Copypasta fail

* Add StatusDataAssert with assertion helpers for validating the exporter span status

* PR Feedback

Co-authored-by: Jack Berg <jberg@newrelic.com>
2022-06-23 12:44:18 -07:00
jack-berg 5f32636405
Update docs to 1.15.0 (#4526) 2022-06-10 15:16:01 -05:00
jack-berg 86cc4bc27d
Add some missing since annotations (#4520) 2022-06-09 20:41:52 -05:00
Anuraag Agrawal 9dc1be5db8
Allow overriding OTLP gRPC authority. (#4514) 2022-06-10 10:37:56 +09:00
jack-berg 92bd65970e
Merge otlp exporters (#4499)
* Merge otlp http trace and metric exporters into :exporters:otlp:all

* Merge otlp http exporter into :exporters:otlp:logs

* Artifact descriptions
2022-05-27 19:23:41 -07:00
jack-berg 60cc5f452a
Merge otlp grpc trace and metric exporter into :exporters:otlp:all (#4494) 2022-05-27 10:12:45 -05:00
jack-berg de824dc93a
Add batch callback API (#4376)
* Add batch callback API

* Update API to accept varargs of instruments

* Add more tests

* Add default API implementations, more test coverage

* PR feedback
2022-05-25 12:50:09 -05:00
jack-berg e4617bbe90
Update to proto 0.18.0 (#4491) 2022-05-25 10:37:42 +09:00
jack-berg 81821296fc
Move ConfigurableMetricExporterProvider to autoconfigure-spi (#4478) 2022-05-18 19:17:45 -07:00
jack-berg 078d55abe5
Add SdkMeterProvider toString method (#4464)
* Add SdkMeterProvider toString method

* Fix build

* Ignore null values in InstrumentSelector / View #toString()
2022-05-13 11:52:04 -05:00
jack-berg 0d234f56c9
Add metrics to OpenTelemetryRule and OpenTelemetryExtension (#4459)
* Add metrics to OpenTelemetryRule and OpenTelemetryExtension

* Clear metrics, respond to PR feedback
2022-05-13 10:06:05 -05:00
jack-berg 6606020c3a
Post release 1.14.0 (#4453)
* Add the release date for 1.14.0 to the change log

* Update docs for 1.14.0 release
2022-05-10 11:12:09 +09:00
jack-berg e067223409
Convert tests to from :sdk:metrics-testing to :sdk:testing (#4444) 2022-05-09 09:34:09 -05:00
jack-berg 89c6323fff
Move InMemoryMetricReader and InMemoryMetricExporter to :sdk:testing (#4442)
* Move InMemoryMetricReader and InMemoryMetricExporter to :sdk:testing

* Move tests
2022-05-06 20:00:11 -05:00
jack-berg d490f5b5e7
Add AggregationTemporalitySelector functional interface (#4438) 2022-05-06 10:03:14 -05:00
jack-berg 605f40b940
Rename MetricReader#flush() to forceFlush() (#4439) 2022-05-06 08:26:22 -05:00
Anuraag Agrawal 2bc8178dce
Split exemplar assertion into double / long (#4432)
* Split exemplar assertion into double / long

* Merge
2022-05-06 14:33:57 +09:00
Anuraag Agrawal bfb39f42d4
Remove Data from metric assertion class names (#4433) 2022-05-05 10:47:26 -05:00
Lauri Tulmin 3f2317fdac
Add hasSpansSatisfyingExactlyInAnyOrder (#4427)
* Add hasSpansSatisfyingExactlyInAnyOrder

* address review comment

* address review comment
2022-05-03 17:25:47 +09:00
Anuraag Agrawal ee4d771142
Migrate sum, histogram, summary assert to stable testing. (#4419)
* Migrate sum, histogram, summary assert to stable testing.

* Coverage
2022-04-28 12:39:29 +09:00
jack-berg e479f15746
Add exponential histogram aggregation (#4406)
* Add ExponentialHistogramAggregation

* Rename DoubleHistogramAggregator to DoubleExplicitBucketHistogramAggregator

* PR feedback
2022-04-22 19:51:08 -05:00
Anuraag Agrawal 173a0c27fd
Have long aggregators export long exemplars (#4403)
* WIP exemplar

* Have long aggregators export long exemplars

* Fix
2022-04-22 11:18:47 +09:00
Anuraag Agrawal f464817013
Move gauge assertions into stable testing artifact. (#4395)
* Move gauge assertions into stable testing artifact.

* Disable publishing of old metrics-testing
2022-04-21 11:31:15 +09:00
jack-berg 45e278a934
Mark metrics components as stable (#4375) 2022-04-13 11:44:17 +09:00
jack-berg 2014f1a1f3
API diffs for 1.13.0 (#4364) 2022-04-08 16:43:33 -07:00
Anuraag Agrawal 0ac1d8e6d7
Update Gradle and build dependencies (#4347) 2022-04-08 08:12:35 +09:00
jack-berg 12fc4b2dda
Drop HistogramPointData utility methods (#4303) 2022-03-25 10:03:05 -05:00
jack-berg 21a61e5894
Change MetricExporter getPreferredTemporality to accept InstrumentType (#4288) 2022-03-24 11:25:50 -05:00
jack-berg 22d385c763
Update API diff with recent changes (#4289) 2022-03-22 08:44:49 +09:00
jack-berg 59a6061dc5
Deprecate InstrumentationLibraryInfo (#4256)
* Deprecate InstrumentationLibraryInfo

* API diff
2022-03-14 14:45:10 -05:00
Anuraag Agrawal 5fb1189b98
Add int overload for equalTo attribute assertion (#4249) 2022-03-09 08:23:34 +09:00
Anuraag Agrawal d2fbcbadb2
API diffs for 1.12.0 (#4237) 2022-03-07 11:44:05 +09:00
jack-berg 963bc384c8
Instrumentation scope (#4215)
* Add InstrumentationScopeInfo class

* Rewrite tracer provider documentation

* Refactor ComponentRegistry to use InstrumentationScopeInfo

* Finish updating documentation to reference scope instead of library

* PR feedback
2022-02-26 10:43:55 -08:00
jack-berg 9f10e0048e
Allow multiple async callbacks, allow callbacks to be removed (#4143)
* Allow multiple async callbacks, allow callbacks to be removed

* Use AutoCloseable to remove callbacks, don't unregister from MetricStorageRegistry

* Use CopyOnWriteArrayList

* PR feedback

* PR feedback
2022-02-25 11:51:51 -06:00
Beppe Catanese 13fb460a54
(4172) Vararg versions of AttributeBuilder.put (#4188)
* Overload put with AttributeKey with String array

* Use generic instead of String

* Format and javadoc

* Cast to type

* New public method

* File based view configuration (#4163)

* Add experimental view config module

* Rename view-config to metric-incubator

* Switch naming from camelCase to snake_case

* Extend with attribute key filter

* Wire up to autoconfiguration

* Use snakeyaml instead of jackson

* PR feedback

* PR feedback

* Remove explicit okio dependency (#4187)

* Deprecate PrometheusCollector (#4185)

* Correct javadoc

Co-authored-by: Anuraag Agrawal <anuraaga@gmail.com>

* Cast to type

Co-authored-by: jack-berg <34418638+jack-berg@users.noreply.github.com>
Co-authored-by: Anuraag Agrawal <anuraaga@gmail.com>
2022-02-24 14:04:57 -08:00
Anuraag Agrawal 242f509dd1
Add ability to do loose attribute matching while checking all keys. (#4173)
* Add ability to do loose attribute matching while checking all keys.

* equalTo

* Support absent keys
2022-02-22 12:15:17 +09:00
Anuraag Agrawal cffbd3249c
Add context wrapping methods for arguments found in CompletableFuture APIs. (#4154) 2022-02-10 08:09:36 +09:00
jack-berg 562153dc7f
Update docs for 1.11.0 release (#4152)
* Update changelog

* Update version in docs

* Add OTLP log exporter component to readme table

* Update japicmp

* Add note to create discussion to release docs
2022-02-04 16:25:56 -08:00
jack-berg eb92539f94
Logs customizer (#4148) 2022-02-04 10:11:56 -06:00
jack-berg 4392f52e1c
Metrics customizer (#4127)
* Use noop meter provider if no readers registered

* Extend AutoConfigurationCustomizer with metrics customizers

* Switch from inline to instance level mocks

* Deprecate SdkMeterProviderConfigurer
2022-02-03 12:26:04 -06:00
Anuraag Agrawal 3a9b44832d
Deprecate gRPC setChannel (#4116) 2022-01-26 08:13:43 -08:00
Pavol Loffay 5d521f5c21
Switch Jaeger remote sampler to use grpc lite (#4043)
* Switch Jaeger remote sampler to gRPC lite

Signed-off-by: Pavol Loffay <p.loffay@gmail.com>

* Abstract impl

Signed-off-by: Pavol Loffay <p.loffay@gmail.com>

* Service done

* Working example

Signed-off-by: Pavol Loffay <p.loffay@gmail.com>

* Handle gzip compression

Signed-off-by: Pavol Loffay <p.loffay@gmail.com>

* Clean dependencies

Signed-off-by: Pavol Loffay <p.loffay@gmail.com>

* Remove dependency on proto

Signed-off-by: Pavol Loffay <p.loffay@gmail.com>

* remove stdout

Signed-off-by: Pavol Loffay <p.loffay@gmail.com>

* Fix

Signed-off-by: Pavol Loffay <p.loffay@gmail.com>

* Fix logger

Signed-off-by: Pavol Loffay <p.loffay@gmail.com>

* jcmpAPI failing

Signed-off-by: Pavol Loffay <p.loffay@gmail.com>

* Fix

Signed-off-by: Pavol Loffay <p.loffay@gmail.com>

* Fix

Signed-off-by: Pavol Loffay <p.loffay@gmail.com>

* Fix

Signed-off-by: Pavol Loffay <p.loffay@gmail.com>

* Switch logger

Signed-off-by: Pavol Loffay <p.loffay@gmail.com>

* Fix

Signed-off-by: Pavol Loffay <p.loffay@gmail.com>

* Support grpc netty too

* NPE test

* update after merge main

* Switch Jaeger remote sampler to gRPC lite

Signed-off-by: Pavol Loffay <p.loffay@gmail.com>

* test

Signed-off-by: Pavol Loffay <p.loffay@gmail.com>

* test

Signed-off-by: Pavol Loffay <p.loffay@gmail.com>

* test

Signed-off-by: Pavol Loffay <p.loffay@gmail.com>

* test

Signed-off-by: Pavol Loffay <p.loffay@gmail.com>

* test

Signed-off-by: Pavol Loffay <p.loffay@gmail.com>

* test

Signed-off-by: Pavol Loffay <p.loffay@gmail.com>

* some tests

Signed-off-by: Pavol Loffay <p.loffay@gmail.com>

* some tests

Signed-off-by: Pavol Loffay <p.loffay@gmail.com>

* tls test

Signed-off-by: Pavol Loffay <p.loffay@gmail.com>

* tls for default

Signed-off-by: Pavol Loffay <p.loffay@gmail.com>

* Workaround logger reference issue

* Use a better logger workaround

* Wait for two polls since first poll may not have been processed by client in time for assertion.

* Don't depend on poll count for assertions.

* shutdownNow

* Cleanups

* Update logunit

* Don't stop at body read failure

Co-authored-by: Anuraag Agrawal <anuraaga@gmail.com>
2022-01-19 12:26:47 +09:00
John Watson d5b66595d2
Reset the api diffs for the current workstream (#4078) 2022-01-12 09:12:32 +09:00
Roberto Cortez 07a2d2eb28
Customizer for SdkTracerProviderBuilder (#4004) 2022-01-08 11:18:38 +09:00
Kyle Tully edbe46a9f7
Expose setTrustedCertificates in JaegerGrpcSpanExporterBuilder for mTLS Support (#4061)
* adding setTrustedCertificates to JaegerGrpcSpanExporterBuilder for mTLS support

* fixing formatting error

* added setTrustedCertificates to JaegerGrpcSpanExporterBuilder

* added validConfig test for setTrustedCertificates mTLS support

* removing unnecessary comments
2022-01-07 13:46:24 +09:00
Anuraag Agrawal 429afa1c99
Add toString to SDK trace components and print autoconfigured SDK (#4047)
* Add toString to SDK trace components and print autoconfigured SDK

* Clean

* Tweak logging message
2022-01-07 10:55:46 +09:00
jack-berg 318091a170
Expand GlobaOpenTelemetry and OpenTelemetry to include metric accessors (#4035) 2022-01-04 11:27:37 +09:00
jack-berg b88107a1e4
Use singletons in noop implementation, reduce visibility of internal classes (#4030) 2021-12-28 10:19:50 +09:00
Anuraag Agrawal 905c1ffa4f
Update Gradle and build dependencies. (#4026) 2021-12-23 07:56:05 -08:00
Anuraag Agrawal 538af68ee6
Return an interface when registering metric callbacks. (#4022)
* Return an interface when registring metrics.

* Return type-specific

* untypo
2021-12-23 13:13:13 +09:00
Anuraag Agrawal 6e28c10c72
Remove ObservableMeasurement superinterface (#4023) 2021-12-22 13:47:47 +09:00
Anuraag Agrawal 10ed89ea4c
Remove deprecated methods from ObservableMeasurement (#4018)
* Remove deprecated methods from ObservableMeasurement

* Hack japi
2021-12-22 10:00:57 +09:00
Anuraag Agrawal 1e9fb21c64
Remove deprecated metrics APIs (#3990) 2021-12-15 11:51:32 +09:00
jack-berg 8d9a57d110
Refactor BatchLogProcessor, add MultiLogExporter, add NoopLogExporter, add LogExporter#flush() (#3955) 2021-12-09 08:40:08 +09:00
jack-berg 53030b7266
Configurable temporality (#3960)
* Allow configuration of preferred temporality in LoggingMetricExporter and OtlpJsonLoggingMetricExporter

* Make InMemoryMetricReader preferred temporality configurable

* Add create() methods to LoggingSpanExporter, LoggingMetricExporter, and SystemOutLogExporter, deprecate public constructors
2021-12-08 13:58:59 +09:00
Anuraag Agrawal b1651a18cf
Rename .observe to .record (#3949)
* Rename .observe to .record

* Apply deprecation
2021-12-03 08:37:22 +09:00
jack-berg 12a54710b7
Remove bound instrument from metric API, move to internal package of metric SDK (#3928) 2021-11-24 13:23:31 +09:00
Anuraag Agrawal 55ff1dc533
Promote metrics API to stable (#3919)
* Add MeterProvider to OpenTelemetry API

* Spot

* Set

* Move NoopMeter to package private

* Merge metrics API code into API package

* Finish

* Fix / clean

* Drift

* Update extensions/noop-api/src/main/java/io/opentelemetry/extension/noopapi/NoopOpenTelemetry.java

Co-authored-by: John Watson <jkwatson@gmail.com>

* Spot

Co-authored-by: John Watson <jkwatson@gmail.com>
2021-11-24 08:39:55 +09:00
Anuraag Agrawal 6933de18e5
Don't use global meter provider for trace export (#3901) 2021-11-19 15:06:22 +09:00
Anuraag Agrawal 98dec9e290
Update docs for 1.9.0 release (#3866) 2021-11-12 09:14:16 -08:00
jack-berg 5f259ee4ee
Add remove method to AttributesBuilder (#3771)
* Add remove method to AttributesBuilder

* Improve test coverage

* Remove attributes by nulling out instead of removing from list

* feedback wip

* Add AttributesBuilder#remove(String) method

* Add removeIf() method

* AbstractFixedSizeExemplarReservoir uses more efficient removeIf() attribute filter
2021-10-28 08:47:50 +09:00
Anuraag Agrawal 1e073fcff2
Add an auto-configuration builder. (#3753)
* Add an auto-configuration builder.

* Test

* Builder

* More

* Revamp

* Customizer only customizes

* Pass config to customizers

* More specific name

* Cleanup

* Cleanup

* SPI test

* Clean

* Clean

* Clean

* Shutdown once instead of flush and shutdown for simple

* Clean

* Cleanups

* Cleanup
2021-10-28 08:41:14 +09:00
Anuraag Agrawal 6623323491
Use same pattern of compileOnly SDK dependencies in exporter-common (#3776) 2021-10-20 10:54:49 -07:00
Anuraag Agrawal 27c48f6ffe
Promote DelegatingSpanData out of incubator. (#3768)
* Promote DelegatingSpanData out of incubator.

* Not final equals
2021-10-20 12:48:56 +09:00
John Watson 9cd3f2f79b
Add a log exporter that outputs to standard out. (#3748)
* Add a log exporter that outputs to standard out.

* add a unit test for the format

* bump up the coverage

* renames and formatting tweaks from review
2021-10-15 11:00:53 -07:00
jack-berg 2241ae6eec
Add SimpleLogProcessor (#3749) 2021-10-15 08:20:05 -07:00
John Watson a8a27f4d01
Update the docs for the 1.7.0 release. (#3715)
* Update the docs for the 1.7.0 release.

* formatting
2021-10-08 14:28:43 -07:00
Anuraag Agrawal 0cef3f79b5
Migrate Jaeger exporter to marshaler (#3625)
* Migrate Jaeger exporter to marshaler

* Remove Jaeger protos from public API

* Separate our jaeger-proto artifact.

* Move

* Cleanups

* Spot
2021-09-21 07:40:15 -07:00
Anuraag Agrawal 9419ef025f
Doc updates for 1.6.0 (#3606)
* Doc updates for 1.6.0

* Bump changelog
2021-09-13 08:12:41 -07:00
jack-berg 9b9ef48b34
Add autoconfigure for span attribute value length limits (#3602)
* Rename SpanLimitsBuilder.setMaxAttributeLength to setMaxAttributeValueLength

* Add span attribute value length limits to autoconfigure

* Fix build
2021-09-10 14:01:33 -07:00
Anuraag Agrawal 856a9955e5
Rename ConfigProperties.getList / getMap. (#3593) 2021-09-10 11:33:01 +09:00
jack-berg 060e50ed5f
Add attribute length limits to SpanLimits. (#3551)
* Add attribute length limits to SpanLimits.

* Respond to PR feedback

* Respond to PR feedback

* Remove test utility function

* Rename method to getMaxAttributeValueLength
2021-09-10 09:49:55 +09:00
jack-berg 68c2d48080
Add ability to enable gzip compression to OtlpGrpcSpanExporter and OtlpGrpcMetricExporter (#3585) 2021-09-09 09:51:47 -07:00
Anuraag Agrawal e8f054615e
Separate out autoconfigure-spi artifact with tracing autoconfiguratio… (#3570)
* Separate out autoconfigure-spi artifact with tracing autoconfiguration SPI.

* Split
2021-09-01 10:21:01 -07:00
Anuraag Agrawal 11864d4349
Exclude internal subpackages too from japicmp (#3559) 2021-08-27 08:30:03 -07:00
Anuraag Agrawal 076b6b1622
Move channel shutdown logic to util and use in grpc metrics exporter too. (#3553) 2021-08-27 13:32:28 +09:00
Anuraag Agrawal 89fc562e1b
Wire metric marshaler into gRPC exporter. (#3546)
* Wire metric marshaler into gRPC exporter.

* Cleanup
2021-08-26 13:45:41 +09:00
jack-berg 068bffba9e
Add missing API diff. (#3526) 2021-08-20 12:29:03 -07:00
Anuraag Agrawal 7a89a19700
Make proto dependency on gRPC compileOnly. (#3490)
* Make proto dependency on gRPC compileOnly.

* Manually parse Status
2021-08-15 09:48:42 +09:00
Trask Stalnaker 651df06cc9
Add getAttribute to ReadableSpan (#3458)
* Add getAttribute to ReadableSpan

* javadoc
2021-08-14 10:33:33 +09:00
Anuraag Agrawal 08690412c0
Deprecate AwsXrayIdGenerator (#3478) 2021-08-13 09:18:13 -07:00
Anuraag Agrawal c5730e77b5
Update docs for 1.5.0 (#3482)
* Update docs for 1.5.0

* CHANGELOG too
2021-08-13 08:10:46 -07:00
Anuraag Agrawal f83ab58317
Fix Nullable of Resource.getAttribute (high priority) (#3473)
* Fix Nullable of Resource.getAttribute

* API
2021-08-12 08:25:19 -07:00
Pavol Loffay 0979e40526
Make Jaeger remote sampler available via SPI (#3368)
* Make Jaeger remote sampler available via SPI

Signed-off-by: Pavol Loffay <p.loffay@gmail.com>

* use env vars

Signed-off-by: Pavol Loffay <p.loffay@gmail.com>

* Add more tests

Signed-off-by: Pavol Loffay <p.loffay@gmail.com>

* fix

Signed-off-by: Pavol Loffay <p.loffay@gmail.com>

* fix

Signed-off-by: Pavol Loffay <p.loffay@gmail.com>
2021-08-12 08:23:07 -07:00
jason plumb cb5198ba99
encapsulate Resource.getAttribute() to help with some law of Demeter violations. (#3468) 2021-08-12 09:06:31 +09:00
John Watson d9e1151336
Publish the otlp-http-trace exporter. (#3464)
* Publish the otlp-http-trace exporter.

* use empty files, rather than diffing vs. itself

* fix a comment
2021-08-10 18:28:02 -07:00
HaloFour b5f56ccac7
Adds getParentSpanContext to ReadableSpan interface (#3454)
* Adds getParentSpanContext to ReadableSpan

* Unit tests
2021-08-08 11:17:40 +09:00
Anuraag Agrawal 8a597c6c6b
Allow Jaeger remote sampler to be closed. (#3446) 2021-08-06 09:50:05 -07:00
Anuraag Agrawal ca8a12ff01
Add AttributesAssert.containsKey (#3433) 2021-08-03 12:51:49 -07:00