Commit Graph

384 Commits

Author SHA1 Message Date
Mateusz Rzeszutek 7e2924c7cd
Add null check for the return value of `ReferenceQueue#remove()` (#7304) 2022-11-25 06:42:11 +01:00
Lauri Tulmin 52cfafc44a
Clean WeakConcurrentMap from background thread (#6240)
Currently our `WeakConcurrentMap` is only cleaned of stale entries when
it is accessed. There is an option to clean from a background thread,
but this creates a separate thread for every map. This pr introduces a
single background thread that cleans all maps.
I removed the option to create a thread per map as we don't use it, if
there is interest I could attempt to find a way to add it back.

Co-authored-by: Trask Stalnaker <trask.stalnaker@gmail.com>
2022-11-23 09:24:51 -08:00
Mateusz Rzeszutek 95ec4a8c1f
HTTP semconv: filter out default peer/host ports (#7258)
After a loooong break, the next part of the HTTP semconv implementation:
filtering out default HTTP ports, client and server.

>  [5]: If not default (80 for http scheme, 443 for https).


https://github.com/open-telemetry/opentelemetry-specification/blob/main/specification/trace/semantic_conventions/http.md#http-client
2022-11-22 17:14:20 +00:00
Trask Stalnaker 586261d25a
Run context customizers before span start instead of after (#6634)
...so that they can have access to the parent span context, and so that
their additions to the context will be visible to span processors
2022-10-06 12:11:17 -07:00
Trask Stalnaker 429ecfc713
Update error prone (#6646)
(note that change from BDDMockito is due to
https://github.com/google/error-prone/issues/3396)
2022-09-23 11:24:40 -07:00
Trask Stalnaker d5c6453636
Remove external usages of ClassNames (and move it to internal) (#6584)
* Reduce dependency on simpleName

* Move ClassNames to internal

* Javadoc

* Updates

* Fix

* Spotless

* Rename

* Add test
2022-09-13 13:58:19 -07:00
Mateusz Rzeszutek f50f1fed3b
Fix instrumentation-api-semconv packages (#6590)
* Fix instrumentation-api-semconv packages

* Move test

Co-authored-by: Trask Stalnaker <trask.stalnaker@gmail.com>
2022-09-12 14:51:27 -07:00
Mateusz Rzeszutek cfdbe758f2
Net attributes getters changes (in preparation for HTTP spec impl) (#6503)
* Net attributes getters changes: instrumentation-api-semconv changes

* Net attributes getters changes: getter implementations

* Net attributes getters changes: test fixes

* Remove net.sock.host.name

* code review comments

* default getter methods & getPeerSocketAddress() method name

* set authority in grpc earlier
2022-09-12 09:20:27 -07:00
Trask Stalnaker 23aff05722
Rename two package-private instrumenter-api classes (#6579) 2022-09-12 17:37:07 +03:00
Trask Stalnaker ae209d9289
Rename ErrorCauseExtractor.jdk() to getDefault() (#6580)
* Rename ErrorCauseExtractor.jdk() to ErrorCauseExtractor.getDefault()

* jApiCmp
2022-09-12 17:36:34 +03:00
Trask Stalnaker 54c41f7558
Move extractFromRequest() to internal (#6585)
* Move extractFromRequest() to internal

* Javadoc
2022-09-12 17:36:07 +03:00
Trask Stalnaker af61a8b578
Update to otel 1.18.0 (#6575) 2022-09-11 10:35:05 -07:00
Mateusz Rzeszutek edf421ede5
Stabilize instrumentation-api and introduce jApiCmp checks (#6566)
* Stabilize instrumentation-api and introduce jApiCmp checks

* Update

Co-authored-by: Trask Stalnaker <trask.stalnaker@gmail.com>
2022-09-09 15:26:39 -07:00
Trask Stalnaker 60d0763af4
Remove a method from instrumenter api (#6570) 2022-09-09 12:21:30 -07:00
Mateusz Rzeszutek 59cb9ca0df
Remove deprecated code (#6501)
* Remove deprecated code

* unnecessary semicolon

* fix distro and extension examples
2022-08-24 14:36:57 -07:00
Mateusz Rzeszutek 6cd79b2a94
Deprecate the 2-arg variant of HttpCommonAttributesGeter#statusCode() (#6466)
* Deprecate the 2-arg variant of HttpCommonAttributesGeter#statusCode()

* fix liberty
2022-08-12 17:11:11 -07:00
Trask Stalnaker 68a9f20eb3
Enable PrivateConstructorForUtilityClass errorprone check (#6427)
* PrivateConstructorForUtilityClass

* Advice

* More advice

* More

* More advice

* More

* Spotless

* Fix

* Fix

* Fix

* A better solution

* Revert

* More

* Fix

* Spotless

* Fix
2022-08-10 11:30:22 +03:00
Mateusz Rzeszutek b2c90c79b5
Extract HTTP request & response content length from headers (#6415)
* Extract HTTP request & response content length from headers

* remove unused method

* fix camel tests

* fix google http client tests

* fix HttpUrlConnection tests

* fix k8s and jaxrs tests

* fix aws tests

* actually fix aws tests 🤞

* fix elasticsearch tests

* fix ratpack tests

* fix spring webflux tests

* fix vertx tests

* fix reactor netty tests
2022-08-05 10:55:47 -07:00
Mateusz Rzeszutek 06dfd59fcd
Add ParametersAreNonnullByDefault and safety null checks in builder methods (#6364) 2022-08-01 22:29:34 -07:00
Mateusz Rzeszutek 5a152cd289
Deprecate uncompressed content length HTTP attributes (#6383) 2022-07-29 06:17:38 +02:00
Mateusz Rzeszutek 976ab9411c
Deprecate Config (#6360)
* Deprecate Config

* suppress deprecation on ConfigTest
2022-07-25 12:10:11 -07:00
Mateusz Rzeszutek 82b39b1012
Rename `newInstrumenter()` into `buildInstrumenter()` (#6363)
* Rename newInstrumenter() into buildInstrumenter()

* spotless
2022-07-25 12:02:46 -07:00
Mateusz Rzeszutek e7887ac929
Idea: deprecate `Config`, add agent-only `InstrumentationConfig` (#6264)
* Idea: deprecate Config, add agent-only InstrumentationConfig

* fix

* fix camel test

* fix external-annotation tests
2022-07-08 16:20:49 +02:00
Mateusz Rzeszutek 198dad00d6
Prefer using ConfigProperties over Config in AgentListener (#6202)
* Prefer using ConfigProperties over Config in AgentListener

* normalize property name

* add TODOs
2022-07-07 15:44:32 +02:00
Lauri Tulmin bb25a6c47c
Expunge stale entries on computeIfAbsent (#6235) 2022-06-28 20:21:05 -07:00
Trask Stalnaker b0eae3461c
Update spotless (#6218)
* Update spotless

* Update spotless
2022-06-26 14:44:29 -07:00
Mateusz Rzeszutek defa530c72
Remove deprecated TimeExtractor (#6196)
* Remove deprecated TimeExtractor

* forgot to add one more class
2022-06-22 16:42:50 -07:00
Lauri Tulmin 91dcad68bd
Run tests with play 2.4 (#6145)
* Run tests with play 2.4

* restore comment
2022-06-14 12:10:53 +03:00
HaloFour b7fc80c98e
Change SpanStatusExtractor to use a builder that can set status description (#6035)
* Change SpanStatusExtractor to use a builder that can set status descripion

* Refactor SpanStatusExtractor to only support builder approach to setting status

* Revert setting the exception as the status description

* PR feedback

* Re-fix graghql instrumentation span extractor

* Spotless
2022-05-19 10:00:46 -07:00
Mateusz Rzeszutek 512a040025
Remove TimeExtractor and use internal API for setting start/end timestamps (#6051)
* Remove TimeExtractor and use internal API for setting start/end timestamps

* code review comments
2022-05-19 09:03:11 -07:00
Mateusz Rzeszutek e343b50804
Remove some deprecated code from the main branch (#6055) 2022-05-17 12:25:43 -07:00
Mateusz Rzeszutek cb7421c592
Add an SPI for customizing Config just before it's set (#6010)
* Add an SPI for customizing Config just before it's set

* deprecate ConfigPropertySource in favor of ConfigCustomizer

* errorprone
2022-05-16 11:55:01 -07:00
Mateusz Rzeszutek 6a0ca530b7
Instrumentation API changes: VirtualField (#6017)
* Instrumentation API changes: VirtualField

* change class name in string constant
2022-05-12 11:17:24 -07:00
Mateusz Rzeszutek 87b412fb40
Instrumentation API changes: OperationMetrics, OperationListener (#6016)
* Instrumentation API changes: OperationMetrics, OperationListener

* errorprone
2022-05-12 11:16:46 -07:00
Mateusz Rzeszutek 802f5aa3ea
Instrumentation API and Javadoc cleanup (#5954) 2022-05-09 22:13:45 -07:00
Mateusz Rzeszutek 2c4acd7c81
Introduce LocalRootSpan (replacing ServerSpan) (#5896)
* Introduce LocalRootSpan (replacing ServerSpan)

* fix tests

* bridge old ServerSpan class
2022-04-21 11:29:10 +02:00
Mateusz Rzeszutek 4e3f19d469
Enable span suppression by SpanKey by default (#5779)
* Enable span suppression by SpanKey by default

* fix HTTP tests (probably)

* add exception for camel

* remove suppression tests from @WithSpan instrumentations

* remove suppression tests from @WithSpan instrumentation; spring boot autoconfigure

* fix twilio tests

* fix netty-based HTTP clients, remove AWS SDK 1.11 unit test

* fix elasticsearch tests

* codenarc

* spotless

* fix AWS SDK 1.11 tests

* remove a TODO

* code review comments

* fix merge conflict

Co-authored-by: Trask Stalnaker <trask.stalnaker@gmail.com>
2022-04-19 14:13:09 -07:00
Mateusz Rzeszutek 202a24c867
Remove deprecated code from instrumentation-api, extension-api (#5883) 2022-04-19 12:22:11 -07:00
Anuraag Agrawal e58d39d4ad
Update to OTel 1.13 (#5799)
* Update to OTel 1.13

* Fix test

* Foo

* Fix app server test and start yak shaving

* Yak

* Yak

* groovy fail

* Yak

* GROOVY

* yak farm
2022-04-13 13:16:32 +03:00
Mateusz Rzeszutek 2ce1162eac
Instrumenter instrumentation version and schema url (#5752)
* Instrumenter instrumentation version and schema url

* nullable instrumentation version

* Apply suggestions from code review

Co-authored-by: Fabrizio Ferri-Benedetti <fferribenedetti@splunk.com>

* reformat

* code review comments

* instrumentation properties files

* Apply suggestions from code review

Co-authored-by: Fabrizio Ferri-Benedetti <fferribenedetti@splunk.com>

* code review comments

* Apply suggestions from code review

Co-authored-by: Trask Stalnaker <trask.stalnaker@gmail.com>

Co-authored-by: Fabrizio Ferri-Benedetti <fferribenedetti@splunk.com>
Co-authored-by: Trask Stalnaker <trask.stalnaker@gmail.com>
2022-04-11 10:29:58 +02:00
Mateusz Rzeszutek 8b29f80962
Remove the @UnstableApi annotation (#5757) 2022-04-06 18:12:47 -07:00
Mateusz Rzeszutek 519024485c
Move Cache and related classes to internal package (#5759)
* Move Cache and related classes to internal package

* fix imports
2022-04-06 18:12:11 -07:00
Mateusz Rzeszutek 65717dae3e
Cleanup Config & ConfigBuilder API (#5733)
* Cleanup Config & ConfigBuilder API

* errorprone

* errorprone & spotless

* spotless
2022-04-05 20:20:52 -07:00
Mateusz Rzeszutek 50f91e6dee
Deprecate AttributesExtractor#set() method (#5749)
* Deprecate AttributesExtractor#set() method

* code review comments
2022-04-05 20:20:02 -07:00
Mateusz Rzeszutek 39e1fcb48e
Rename view and controller suppression config properties (#5747)
* Rename view and controller suppression config properties

* code review comments
2022-04-05 14:24:24 -07:00
Mateusz Rzeszutek 8e722cc264
Library instrumentation should read its version from a file (#5692)
* Library instrumentation should read its version from a file

* errorprone

* animalsniffer

* code review comments

* add name as task input too

* code review comments
2022-04-04 11:52:23 -07:00
Mateusz Rzeszutek 0ca127fe94
Move ClassNames & SpanNames to .util package (#5746)
* Move ClassNames & SpanNames to .util package

* errorprone
2022-04-04 11:17:54 -07:00
Mateusz Rzeszutek 5fb2261a82
Split out instrumentation-api-semconv (#5721)
* Split out instrumentation-api-semconv

* fix tests

* Moved LoggingContextConstants to semconv module too
2022-04-01 10:04:52 -07:00
Lauri Tulmin b85696b1a3
Sql sanitizer: handle double quoted table names (#5699)
* Sql sanitizer: handle double quoted table names

* handle backtick

* strip double quotes and backtick from table name in a separate method
2022-03-29 10:48:51 +03:00
Anuraag Agrawal 14372adb68
Migrate Guava tests to Java (#5668)
* Migrate Guava tests to Java

* Update instrumentation/guava-10.0/javaagent/src/test/java/io/opentelemetry/javaagent/instrumentation/guava/ListenableFutureTest.java

Co-authored-by: Lauri Tulmin <tulmin@gmail.com>

* Workaround inline mock issue

Co-authored-by: Trask Stalnaker <trask.stalnaker@gmail.com>
Co-authored-by: Lauri Tulmin <tulmin@gmail.com>
2022-03-24 14:14:09 +09:00