Commit Graph

533 Commits

Author SHA1 Message Date
jack-berg cc22880bb8
Stop publishing opentelemetry-sdk-extension-aws artifact (#4830) 2022-10-14 07:51:17 -05:00
jason plumb 3f4698a536
Ensure done before checking success to help troubleshoot timeout issues (#4833)
* ensure done before checking success to help troubleshoot timeout issues

* add done check to testDefaultRetryPolicy method as well.

* ensure isDone() before other assertions
2022-10-13 13:13:22 -05:00
jack-berg 3a61673450
Prepare release 1.19.0 (#4821)
* wip

* Add changelog entry for 1.19.0

* Add new since annotations

* Add late additions to changelog

* PR feedback

* Fix 1.18.0 ref
2022-10-07 09:00:45 -05:00
jack-berg bd0cf78c39
Ensure GlobalLoggerProvider is set once (#4804)
* Ensure GlobalLoggerProvider is set once

* Add GlobalLoggerProviderTest

* PR feedback
2022-10-03 13:47:36 -05:00
Bruno Baptista c37dada000
Add support for new system property otel.sdk.disabled (#4810)
* Add support for new system property otel.sdk.disabled

* address review comments
2022-10-03 11:51:57 -05:00
jack-berg 7b56506a73
Deprecate opentelemetry-sdk-extension-aws (#4749) 2022-10-01 10:08:10 -05:00
jack-berg 3ee7bbd165
Fix ProcessResource directory separator (#4782)
* Fix ProcessResource directory separator

* spotless
2022-10-01 09:56:15 -05:00
jack-berg e1519bdd3d
Deprecate opentelemetry-sdk-extension-resources (#4748) 2022-10-01 09:54:45 -05:00
jack-berg a1cf20d1c5
Rename LogProcessor to LogRecordProcessor (#4772) 2022-09-26 11:02:49 -05:00
jack-berg 647ed91c15
Rename LogData to LogRecordData (#4774)
* Rename LogData to LogRecordData

* spotless
2022-09-26 10:30:59 -05:00
jack-berg 9b17be3114
Rename LogExporter to LogRecordExporter (#4773) 2022-09-26 09:57:30 -05:00
jack-berg f7317c6e8d
Split out logs API (#4764) 2022-09-22 13:23:52 -05:00
jack-berg 6209109e0a
Change LogEmitter to Logger, LogEmitterProvider to LoggerProvider (#4721) 2022-09-16 13:41:30 -05:00
Mateusz Rzeszutek 6c11793bd2
Add experimental ConditionalResourceProvider interface (#4731)
* Add experimental ConditionalResourceProvider interface

* Add tests
2022-09-08 13:10:43 -05:00
wzy531a aea98ba885
Fix container detection fails in k8s with containerd v1.5.0+ environments (#4733)
* pr with issue#4730

* PR for issue#4730

Signed-off-by: wuzhaoyin <1449259282@qq.com>

* Annotation adjustment

Signed-off-by: wuzhaoyin <1449259282@qq.com>

* fix code owner review required fail

Signed-off-by: wuzhaoyin <1449259282@qq.com>

Signed-off-by: wuzhaoyin <1449259282@qq.com>
2022-09-08 11:23:45 -05:00
Felix Scheinost b5ef538e5e
Improve detection of resource attributes on ECS (#4574)
* Improve detection of resource attributes on ECS

This improves the detection of resource attributes on ECS by fetching ECS metadata from `ECS_CONTAINER_METADATA_URI` or `ECS_CONTAINER_METADATA_URI_V4`.

Previously only `CONTAINER_NAME` and `CONTAINER_ID` id were set.

Now we set:

- CONTAINER_ID
- CONTAINER_NAME
- AWS_ECS_CONTAINER_ARN
- CONTAINER_IMAGE_NAME
- CONTAINER_IMAGE_TAG
- aws.ecs.container.image.id
- AWS_LOG_GROUP_ARNS
- AWS_LOG_GROUP_NAMES
- AWS_LOG_STREAM_NAMES
- AWS_ECS_TASK_ARN
- AWS_ECS_TASK_FAMILY
- AWS_ECS_TASK_REVISION

Especially AWS_LOG_GROUP_ARNS is important so that connection of traces to logs works OOTB on X-Ray.

* Change „24“ to „26“ in fixtures for consistency

`CONTAINER_NAME` and `AWS_ECS_TASK_REVISION` should match

* Implement a few more attributes, fix ARNs

This commit adds implementations for the `aws.ecs.launchtype`
and `aws.logs.stream.arns` attributes, as well as fixing
the generation of log group ARNs.

* EcsResource: Record log group without trailing :*

Both with and without trailing `:*` are valid formats but there is a bug in the OpenTelementry collector which can’t handle the trailing `:*` (for now) (see https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/13702)

So remove addition of the trailing `:*` for now.

Co-authored-by: Michele Mancioppi <michelem@lumigo.io>
2022-09-08 10:20:58 -05:00
jack-berg def1c85b60
Drop opentelemetry-sdk-extension-jfr-events, which moved to opentelemetry-java-contrib (#4703) 2022-08-25 08:46:45 -05:00
jack-berg 926b57143a
Merge trace and metric incubator (#4705) 2022-08-24 09:59:42 -05:00
jack-berg 6eea0389af
Move :sdk-extensions:zpages to :sdk-extensions:tracing-incubator (#4694) 2022-08-17 15:41:07 -05:00
jack-berg b979ea1427
Allow logs to be mutated by LogProcessor (#4643)
* Allow logs to be mutated by LogProcessor

* wip

* Improve test coverage
2022-08-11 15:52:22 -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 5def2f7fb2
Always pull ghrc.io/open-telemetry/opentelemetry-java/* images (#4656)
* Always pull ghrc.io/open-telemetry/opentelemetry-java/* images

* Unused import

* Add error logging to collector

* unused imports

* spot

* revert error logging
2022-08-07 15:56:07 -05:00
jack-berg 35680960cb
Fix autoconfigure documentation (#4658) 2022-08-07 15:55:36 -05:00
jack-berg 21abfa2b57
Add ConfigurableLogExporterProvider (#4636) 2022-07-28 15:04:45 -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 a8086498b1
Add TestLogData, remove public LogDataImpl and LogDataBuilder from log SDK (#4635)
* Add TestLogData, remove public LogDataImpl and LogDataBuilder from log sdk

* pr comment
2022-07-27 13:15:25 -05:00
jack-berg 2ef73c83af
Support aggregation arguments for view file configuration (#4588)
* Support aggregation arguments for view file configuration

* Extract getBucketBoundaries function
2022-07-21 09:41:43 -05:00
jack-berg 7a2a5b379d
Update autoconfigure docs for multiple exporters (#4619) 2022-07-20 09:39:48 -05:00
jack-berg d84a111273
Cache HttpUrl for exporters that use OkHttp (#4616) 2022-07-19 10:04:54 -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
Trask Stalnaker 6034c12650
Add javadoc about autoconfigure pitfall (#4558)
* Add javadoc about autoconfigure pitfall

* more
2022-06-30 09:40:34 -05:00
Mateusz Rzeszutek 4c0cbba5d3
Add hyphen normalization to ConfigProperties (#4564) 2022-06-30 09:26:29 -05:00
jack-berg cb864fd209
Fix metrics incubator docs (#4567) 2022-06-29 16:24:57 -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
Fabio Massimo Ercoli bc8f721458
Handle non-String system properties (#4543) (#4544)
* Test non-string properties (#4543)

* Handle non-String system properties (#4543)

* Small cleanups

Co-authored-by: Anuraag Agrawal <anuraaga@gmail.com>
2022-06-22 10:02:48 +09:00
Anuraag Agrawal 852e755eeb
Use OkHttpGrpcExporter unless upstream Channel provided by user (#4538)
* Use OkHttp-based gRPC exporter unless setChannel is called.
2022-06-17 09:45:03 +09:00
jack-berg 86cc4bc27d
Add some missing since annotations (#4520) 2022-06-09 20:41:52 -05:00
jack-berg b7347f6577
Update dependencies (#4519)
* Update dependencies

* revert jqf-fuzz to 1.7
2022-06-09 20:41:40 -05:00
jack-berg 29f274e1a8
Handle ContainerResource edge case (#4518)
* Handle ContainerResource edge case

* Simplify container id logic

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

* Start from one character after last '-'

Co-authored-by: Anuraag Agrawal <anuraaga@gmail.com>
2022-06-07 13:35:34 -05:00
jack-berg 7d80a99846
Add experimental option to disable autoconfigured opentelemetry SDK (#4489)
* Add experimental option to disable autoconfigured opentelemetry SDK

* Add AutoConfiguredOpenTelemetrySdk#isSdkEnabled()

* Remove isSdkEnabled()
2022-06-06 11:23:14 -05:00
jason plumb 77f5a174d4
Add default getters to ConfigProperties (#4500)
* add some methods to ConfigProperties to help with defaulting.

* wire up default methods

* javadoc

* bots hate underscores

* leverage primitives to eliminate nullability.

* remove null check (call doesn't return null per javadoc)

* address PR comments.

* move internal method out of public interface

* roll back fallback

* rename util class

* use assertj

* spotless

* coverage

* Update sdk-extensions/autoconfigure/src/test/java/io/opentelemetry/sdk/autoconfigure/ConfigPropertiesTest.java

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

* static

* spot(less)

Co-authored-by: Anuraag Agrawal <anuraaga@gmail.com>
2022-06-02 15:48:48 -07:00
jason plumb 83bfb84d14
Migrate to assertj (#4512)
* migrate from junit/jupiter assertions to assertj in a few remaining places.

* reorder
2022-06-02 13:38:46 -07: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 33d2c22260
Implement general attribute limits (#4495)
* Implement general attribute limits

* Spotless
2022-05-26 09:25:14 -05:00
Donnerbart 2e5598e492
Add setter for MeterProvider to JaegerGrpcSpanExporterBuilder (#4487)
* Add setter for MeterProvider to JaegerGrpcSpanExporterBuilder

* Make exporter name configurable for ExporterMetrics
2022-05-24 12:13:48 -07:00
wallezhang 3ed74b6bbc
feat: `otel.metrics.exporter` setting support multiple values (#4466)
* feat: `otel.metrics.exporter` setting support multiple values

* refactor: Refactor metric reader configuration function
2022-05-20 15:01:05 -05:00
jack-berg 81821296fc
Move ConfigurableMetricExporterProvider to autoconfigure-spi (#4478) 2022-05-18 19:17:45 -07:00
jack-berg d355bf56df
Fix OTEL_EXPORTER_OTLP_CLIENT_KEY docs (#4474) 2022-05-17 17:18:32 -07:00
jack-berg b7b6a75637
Drop reference to OTEL_EXPORTER_LOGGING_PREFIX (#4462) 2022-05-12 15:46:19 -05: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 d490f5b5e7
Add AggregationTemporalitySelector functional interface (#4438) 2022-05-06 10:03:14 -05:00
Chris Gray 360da3cf9b
Parse 0-probability sampling strategies correctly (fixes: open-telemetry/opentelemetry-java-instrumentation#5899) (#4421)
* Parse 0-probability sampling strategies correctly (fixes: #5899)

* Run spotless

* Move default probabilistic strategy to `parseProbabilistic`
2022-05-06 08:29:05 -05:00
jack-berg 605f40b940
Rename MetricReader#flush() to forceFlush() (#4439) 2022-05-06 08:26:22 -05:00
Anuraag Agrawal e999fa0d5a
Some fixes for compilation under java 18 (#4397) 2022-04-22 07:43:55 +09:00
jack-berg 2ec053e0fd
Remove old option for specifying temporality (#4392)
* Remove old option for specifying temporality

* Fix test
2022-04-20 10:11:25 -05:00
jack-berg 45e278a934
Mark metrics components as stable (#4375) 2022-04-13 11:44:17 +09:00
jack-berg 44afb133bd
Add changelog entry for 1.13.0 release (#4355)
* Add changelog entry for 1.13.0

* PR feedback
2022-04-08 13:35:24 -05:00
jack-berg e7d5a97f88
OTLP metric exporter accepts aggregation temporality function (#4340)
* OTLP metric exporter accepts aggregation temporality function

* Spotless
2022-04-08 07:54:04 -05:00
Anuraag Agrawal d78cadabaa
Update errorprone (#4346) 2022-04-08 08:12:57 +09:00
jack-berg 0b94400914
Another round of log suppression (#4342)
* Another round of log suppression

* Suppress logs from HttpServerPipelineConfigurator
2022-04-07 11:00:42 -05:00
jack-berg 8ab4d0aa9c
Remove instrument selector predicates, add instrument name wildcards (#4331)
* Remove instrument selector predicates, add instrument name wildcards

* Cache name pattern to regex translation

* Use alternative glob match algo, get rid of cache
2022-04-06 09:54:43 -05:00
Mehdi Riahi 84b9e663f3
Do not rely on samplingType provided by Jaeger (#4319) (#4335)
* Do not rely on samplingType provided by Jaeger (#4319)

* Add explanation comments (#4319)
2022-04-05 12:35:36 +09:00
jack-berg cb50ec9ce7
Enable OTLP metric export by default in autoconfigure (#4330) 2022-04-04 10:47:43 -05:00
jack-berg 423e1a2c54
Refactor MetricReader registration (#4320) 2022-03-31 10:13:17 -05:00
jack-berg 725ce32db3
Make setMinimumCollectionInterval package private (#4310)
* Make setMinimumCollectionInterval package private, centralize experimental utilities

* Default minimum collection interval to zero
2022-03-31 09:49:53 -05:00
Anuraag Agrawal 0ab2eea43e
Use updated docker test images (#4306) 2022-03-25 10:17:46 -05:00
Anuraag Agrawal fab0131184
Update OTLP to 0.15 (#4305) 2022-03-25 10:08:38 -05:00
jack-berg 647ff0db3c
Throw exception if selection criteria selects nothing (#4300) 2022-03-25 10:04:34 -05:00
jack-berg 21a61e5894
Change MetricExporter getPreferredTemporality to accept InstrumentType (#4288) 2022-03-24 11:25:50 -05:00
jack-berg c4ea1c155e
Refactor view API, make AttributesProcessor internal (#4277)
* Switch View and ViewBuilder to classes

* Make AttributesProcessor an empty interface, move content to AbstractAttributesProcessor

* Drop io.opentelemetry.sdk.metrics.view package
2022-03-23 11:01:54 -05:00
jack-berg 322097ad4b
Hide exemplars (#4276)
* Make exemplar package internal

* Add method to reflectively set exemplar filter on SdkMeterProvderBuilder
2022-03-22 10:39:37 -05:00
jack-berg 2c695a34f8
Simplify MetricReader (#4268)
* Simplify MetricReader

* Tighten up PR

* Restore some methods / classes and deprecate

* Revert "Restore some methods / classes and deprecate"

This reverts commit fee90e5da7.
2022-03-22 10:10:15 -05:00
Trask Stalnaker cd2583df6a
Add misspell check (and fix misspellings) (#4290)
* Add misspell check

* Fix misspellings

* Spotless
2022-03-22 15:12:40 +09:00
Trask Stalnaker 559d05adf5
Add markdown link check (#4287)
* Add markdown link check

* Fix links

* Now detects anchor links too!

* Reword comment
2022-03-22 14:11:34 +09:00
Brian Yan e54e7ac4dc
feat:add the shortcut of removeif in ResourceBuilder (#4286)
* fix:add an ending period to form notes

* feat:add the shortcut of removeif in ResourceBuilder

* fix:fix the errors of check

* feat:run two gradlew task to achieve check

* fix:fix format violations

* feat:remove extra function and modify the unit test

* fix: fix format violations

* feat:format code and modify unit test

* feat:make unit test specification

* feat:cleanup for normalize
2022-03-22 13:03:55 +09:00
jack-berg dba57a538a
Drop io.opentelemetry.sdk.metrics.common package (#4275) 2022-03-21 10:02:08 -05:00
jkamon a355c347b8
Allow client certificate (#4194)
* Allow client certificate

* Allow client certificate - changes signature and add parameters

* Allow client certificate - rename chain to certificate

* Allow client certificate - fix first set of comments

* Allow client certificate - comments

* Allow client certificate - compile fix

* Allow client certificate - tests

* Allow client certificate - rename privateKeyChainPem to certificatePem

* Allow client certificate - remove incorrect test

* Allow client certificate - removed unused function

* Allow client certificate - spotlessApply

* Allow client certificate - match expected and thrown error messages

* Allow client certificate - spotlessApply

* Allow client certificate - from spec project it was requested to remove logs entries

* Allow client certificate - match expected and thrown error messages

* Allow client certificate - improve test coverage

* Allow client certificate - document also LOG version of env variables
2022-03-21 17:19:17 +09:00
jack-berg ccfa2dcbe4
Implement metric identity specification (#4222)
* Implement metric identity specification

* PR feedback

* Fix build
2022-03-15 12:46:27 -05:00
jack-berg 59a6061dc5
Deprecate InstrumentationLibraryInfo (#4256)
* Deprecate InstrumentationLibraryInfo

* API diff
2022-03-14 14:45:10 -05:00
Anuraag Agrawal 26c04299d3
Make MetricData factories internal (#4257) 2022-03-11 16:30:13 +09:00
Anuraag Agrawal f5f99cf72d
Inline MeterSelector into InstrumentSelector (#4241) 2022-03-09 14:37:53 +09:00
Anuraag Agrawal 9ac622170e
Extract View configuration interface so it only exposes public API. (#4239)
* Extract View configuration interface so it only exposes public API.

* scare
2022-03-09 14:36:56 +09:00
Anuraag Agrawal 048a0c8d14
Migrate PointData to interface (#4242) 2022-03-09 11:16:48 +09:00
wallezhang 3a78a9030a
feat: Add enabled resource providers configuration (#4231)
* feat: Add enabled resource providers configuration

* style: Code style changes by running spotlessApply

* test: Add unit test for specific resource providers in both configurations

* test: Add unit test for only specific resource providers in enabled configuration
2022-03-09 09:44:05 +09:00
Anuraag Agrawal 22c7a8e10b
Cleanups to View configuration (#4225) 2022-03-04 10:46:55 +09:00
Anuraag Agrawal 2527359cd5
Deprecate automatic histogram method for removal. (#4218) 2022-03-03 08:27:13 +09:00
Anuraag Agrawal a6107d5590
Remove type-specific SumData (#4216)
* Remove type-specific SumData

* scare
2022-03-02 08:40:21 +09:00
Anuraag Agrawal d868eff3e1
Move view builders to top level (#4202) 2022-02-24 09:08:05 +09:00
jack-berg 4a67130738
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
2022-02-18 11:56:21 -06:00
jack-berg 9456aeea26
Experimental support for disabling resource keys (#4169)
* Experimental support for disabling resource keys

* Rename property
2022-02-17 14:19:27 -06:00
John Watson f7c52e181e
Update OTLP protobufs to v0.13.0-alpha (#4170)
and add documentation on how to update that dependency.
2022-02-12 10:33:38 -08:00
jack-berg 3f5778e647
Do not register periodic metric reader when exporter is null (#4166) 2022-02-09 14:25:27 -06:00
jack-berg b9074f1d8b
Drop deprecations (#4158)
* Drop OBSERVABLE_SUM and OBSERVABLE_UP_DOWN_SUM

* Drop SdkMeterProviderConfigurer
2022-02-08 14:17:06 +09: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
jack-berg bd29e1f2ef
Deprecate SdkTracerProviderConfigurer (#4136)
* Deprecate SdkTracerProviderConfigurer

* Update sdk-extensions/autoconfigure/src/testFullConfig/java/io/opentelemetry/sdk/autoconfigure/TestTracerProviderConfigurer.java

Co-authored-by: John Watson <jkwatson@gmail.com>
2022-02-03 14:19:28 +09:00
Anuraag Agrawal 47f7c38ef5
Enable loggers in all tests via slf4j. (#4126)
* Route all test jul logging through slf4j.

* Cleanup and more suppressions
2022-02-02 14:43:25 +09:00
jack-berg 4a015cc794
Set MeterProvider on BatchLogProcessor (#4138) 2022-02-02 08:06:07 +09:00
Anuraag Agrawal 03c41ec940
Add a testing-internal module and functionality to SuppressLogger for… (#4130)
* Improve behavior of some tests (#4123)

* Optimize

* Fix logging.properties

* Clean
2022-02-01 16:04:39 +09:00
Ryan Rupp 586ac11803
Make SPI factories instantiate implementations lazily (#4059)
* Make SPI factories instantiate implementations lazily

Previously, this would load all SPI factories and then eagerly instantiate each implementation. This would potentially result in implementations that would get instantiated even if they didn't end up getting used. An example was if the AWS contrib jar was included, this would result in an AwsXrayRemoteSampler being instantiated eagerly despite the configuration not using it. This could then result in errors or unused resources depending on the implementation i.e. in the AwsXrayRemoteSampler example it spawns a thread and makes a network request.

This change transitions the factories so that they only construct the implementation objects if the configuration specifically asks for it. Note the SPI factories themselves must still must be eagerly loaded to determine which factory names are available. This change applies to all auto-configuration areas following this pattern: Samplers, Metric Exporters, Text Map Propagators and Span Exporters.

* Now that instantiating implementations is on-demand (only if used), allow any exceptions to propagate

* format fix

* Change NamedSpiManager from interface to class

Co-authored-by: jack-berg <jberg@newrelic.com>
2022-01-31 15:49:58 -06:00
wallezhang 97d2115dc4
refactor: adjust tracer and meter provider customizer execution order (#4129)
* refactor: adjust tracer and meter provider customizer execution order

* refactor: Modify tracer provider customizer flow

* style: Format code using spotlessApply
2022-01-31 11:56:00 -06:00
jack-berg 87f788a3b4
Cleanup retry configuration (#4131) 2022-01-31 11:30:39 -06:00
Anuraag Agrawal 3cabcc7e45
Improve behavior of some tests (#4123) 2022-01-26 08:17:21 -08:00
Anuraag Agrawal 3a9b44832d
Deprecate gRPC setChannel (#4116) 2022-01-26 08:13:43 -08:00
jack-berg 0ef60f8233
Use noop meter provider if no readers registered (#4120)
Co-authored-by: Anuraag Agrawal <anuraaga@gmail.com>
2022-01-26 08:08:31 -08:00
Anuraag Agrawal 044cadb47e
Reorganize internal export code. (#4111)
* Reorganize internal export code.

* Cleanups
2022-01-26 14:39:58 +09:00
Anuraag Agrawal 0a2f400b59
Schedule jaeger remote sampling with fixed delay and clean up tests. (#4122) 2022-01-25 20:51:43 -08:00
Anuraag Agrawal f4f61ea2f3
Close jaeger sampler in provider test too. (#4113) 2022-01-26 08:29:08 +09:00
Anuraag Agrawal 53df4aa8a1
Fix flaky FullConfigTest (#4115) 2022-01-25 07:50:04 -08:00
Ryan Dens 1313265692
BatchSpanProcessor metrics (#4112)
* ♻️ refactor TracerProviderConfiguration.configureBatchSpanProcessor to have MeterProvider provided to it

* 🐛 set meterProvider on BatchSpanProcessorBuilder

* 👌 chain usage of builder APIs where possible

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

* 🎨 formatting

Co-authored-by: jack-berg <34418638+jack-berg@users.noreply.github.com>
2022-01-24 18:27:14 -08:00
jack-berg 8bbb0e25da
Enable reflective setting of retry policy for OkHttpGrpcExporter (#4097)
* Enable reflective setting of retry policy for OkHttpGrpcExporter

* Drop deprecated method

* Add test coverage
2022-01-21 11:07:00 +09: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
Eugene R 3518c98c45
Annotate AutoValue classes as Immutable (#3875)
* annotate AutoValue classes as Immutable

* Remove @Immutable on internal classes

Co-authored-by: jack-berg <jberg@newrelic.com>
2022-01-14 14:53:14 -06:00
Roberto Cortez 7b570f53ce
Provide a way to register / skip the shutdown hook in AutoConfiguredOpenTelemetrySdkBuilder (#4072) 2022-01-11 09:46:53 -08:00
Roberto Cortez 07a2d2eb28
Customizer for SdkTracerProviderBuilder (#4004) 2022-01-08 11:18:38 +09:00
Anuraag Agrawal c28797ae89
Use configured classloader for resource SPI. (#4064) 2022-01-07 12:44:44 +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
Anuraag Agrawal dfb4a74ac5
Update errorprone (#4048) 2022-01-06 11:33:00 +09:00
jack-berg 10f5efa14d
Add log autoconfigure support (#4015)
* Add log autoconfigure support

* Support log logging exporter via autoconfigure

* Add unit test
2022-01-05 08:21:58 -08:00
Kunshuai Zhu 44dccd6c33
Fix the problem that README.md failed to display [javadoc-image] (#4039) 2022-01-01 09:39:45 -08:00
jack-berg 6f755cc812
Add http/protobuf retry (#3983)
* Add http/protobuf retry

* PR feedback
2021-12-17 12:35:29 +09:00
jack-berg 2fb3d633a0
Remove deprecations from autoconfigure module (#3923) 2021-12-17 09:12:39 +09:00
Anuraag Agrawal 1e9fb21c64
Remove deprecated metrics APIs (#3990) 2021-12-15 11:51:32 +09:00
Anuraag Agrawal 57106be7ff
Use OkHttp for AWS resource detectors (#3991) 2021-12-15 11:17:36 +09:00
Anuraag Agrawal ed7f82f873
Remove dependency on api:metrics which was deprecated where possible. (#3975) 2021-12-09 06:27:50 -08: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 8e04fbf0b8
Migrate most testsets to test suites. (#3953) 2021-12-07 08:37:15 +09:00
Anuraag Agrawal 737a5e2b26
Deprecate GlobalMeterProvider (#3948) 2021-12-03 08:43:49 +09:00
Anuraag Agrawal b1651a18cf
Rename .observe to .record (#3949)
* Rename .observe to .record

* Apply deprecation
2021-12-03 08:37:22 +09:00
Anuraag Agrawal ae3fe66031
Implement retry for OkHttpGrpcExporter (#3936)
* Implement retry for OkHttpGrpcExporter

* Fix merge

* Smallest is millis

* Cleanup

* More retryable
2021-12-01 09:34:43 +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 1c1d26483b
Populate cloud.platform in aws resources (#3902) 2021-11-19 11:43:40 +09:00
Anuraag Agrawal 3190325aac
Remove deprecated ExecutorServiceSpanProcessor (#3864)
* Remove deprecated ExecutorServiceSpanProcessor

* Remove benchmark
2021-11-16 11:39:57 +09:00
Eugene R f24ee19d0b
decommission the deprecated Gradle archivesBaseName property (#3878) 2021-11-15 10:55:08 -08:00
Anuraag Agrawal 8855c6d9bf
Remove deprecated data incubator types (#3865) 2021-11-13 12:45:25 +09:00
jack-berg 65e7145e9c
OTLP metric temporality configuration (#3847)
* Add ability to configure preferred temporality to OTLP grpc and http metric exporters

* Make OTLP metric preferred temporality configurable

* Make temporality configuration case insensitive
2021-11-12 11:03:20 +09:00
Anuraag Agrawal 72bfd18aba
Allow specifying SPI classloader during autoconfiguraiton. (#3849) 2021-11-11 09:38:29 +09:00
jack-berg 4b7e50928f
Configure periodic metric reader interval with otel.metric.export.interval (#3840) 2021-11-09 13:59:33 +09:00
jack-berg a1a45d2657
Autoconfigure experimental OTLP retry (#3791)
* Add retry policy class and wire into autoconfigure

* Wire up otlp retry for DefaultGrpcExporter

* Add documentation to autoconfigure readme

* Add more tests

* Move delegate accessor to :exporters:otlp:common

* Use jackson for json serialization

* PR feedback
2021-11-09 10:06:47 +09:00
jason plumb 4e38ab308b
handle multiple hyphens in prefix (#3833) 2021-11-06 19:16:09 -07:00
Anuraag Agrawal 271f281993
Deprecate ExecutorServiceSpanProcessor. (#3815) 2021-11-04 13:22:38 +09:00
Anuraag Agrawal 1f22239188
Fix flaky test (#3810) 2021-11-01 07:54:46 -07:00
Anuraag Agrawal 47552172eb
Actually flush in ExecutorServiceSpanProcessor (#3806)
* Actually flush in ExecutorServiceSpanProcessor

* Fix mock reset

* Remove drift comment
2021-11-01 13:16:15 +09:00
Anuraag Agrawal 872c86cf8a
Migrate jaeger exporter to use GrpcExporter (#3800)
* Migrate jaeger exporter to use GrpcExporter

* Cleanup

* Update integration test

* Fix
2021-10-29 12:01:41 +09:00
Anuraag Agrawal 13c838acfe
Fix merge conflict (#3798) 2021-10-28 10:13:57 +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
jack-berg c4c2e6c9db
Align SdkMeterProvider with SdkTracerProvider (#3792)
* Align SdkMeterProvider with SdkTracerProvider

* Use noop meter provider when metric exporter is none
2021-10-27 10:03:08 -07:00
Anuraag Agrawal 57888c55e4
Extract common logic for HTTP exporters (#3787) 2021-10-25 11:39:08 -07:00