John Watson
6dbb64ec7a
Implement a Call.Factory for okhttp 3.x+ library instrumentation ( #3812 )
...
* Add a README for the okhttp library instrumentation.
* Create new instrumentation for okhttp3 4.x+
This exposes a `Call.Factory` which will properly handle internal context propagation when used with async callbacks.
* update the "4.x" instrumentation to support 3.x
* Get rid of the 4.x instrumentation, and just update the 3.x instrumentation to work
* updates from PR review
* replace old reflection with method handle usage
* Apply suggestions from code review
Co-authored-by: Trask Stalnaker <trask.stalnaker@gmail.com>
Co-authored-by: Trask Stalnaker <trask.stalnaker@gmail.com>
2021-08-18 12:16:24 +09:00
Anuraag Agrawal
8cbec715ff
Fill HTTP_CLIENT_IP in ServerInstrumenter ( #3756 )
2021-08-05 13:11:30 +09:00
Mateusz Rzeszutek
ba4db4801f
Clean up concurrent advice utilities in javaagent-instrumentation-api ( #3757 )
...
* Clean up concurrent advice utilities in javaagent-instrumentation-api
* fix classloading tests
2021-08-03 09:17:19 -07:00
Anuraag Agrawal
47be4a16b4
Convert HttpClientTest to JUnit ( #3652 )
...
* Migrate HttpClientTest to junit to allow both Java or spock tests.
* More
* Update
* Finish
* Cleanup
* Better stack
* Java 15
* Merge
* Fix name
* Cleanup
* ? extends
* Moar
2021-07-27 21:55:40 +09:00
Lauri Tulmin
b483d7d249
Fix concurrency with callback test on okhttp3 latest ( #3676 )
2021-07-26 18:49:21 +03:00
Lauri Tulmin
26dc106399
Okhttp3: fix concurrency test with callback ( #3669 )
2021-07-26 13:12:29 +09:00
Anuraag Agrawal
04c070ccc1
Add HTTPClientMetrics ( #3598 )
...
* Add HTTPClientMetrics
* Update instrumentation-api/src/main/java/io/opentelemetry/instrumentation/api/instrumenter/http/HttpClientMetrics.java
Co-authored-by: Trask Stalnaker <trask.stalnaker@gmail.com>
Co-authored-by: Trask Stalnaker <trask.stalnaker@gmail.com>
2021-07-16 18:22:35 +09:00
Lauri Tulmin
1d01475948
Use http 1.1 for okhttp3 tests ( #3565 )
2021-07-14 13:21:49 +03:00
Mateusz Rzeszutek
71e7d666ed
Convert OkHttp 3 to Instrumenter API ( #3538 )
...
* Convert OkHttp 3 to Instrumenter API
* code review
* Update instrumentation/okhttp/okhttp-3.0/library/src/main/java/io/opentelemetry/instrumentation/okhttp/v3_0/OkHttpAttributesExtractor.java
Co-authored-by: Trask Stalnaker <trask.stalnaker@gmail.com>
Co-authored-by: Trask Stalnaker <trask.stalnaker@gmail.com>
2021-07-13 18:41:19 -07:00
Mateusz Rzeszutek
c5ba5c3a71
Use local variable for passing CallDepth between advice enter/exit me… ( #3504 )
...
* Use local variable for passing CallDepth between advice enter/exit methods
* fix broken call depth tracking
* checkstyle
* fix javadocs
2021-07-06 12:05:14 -07:00
Mateusz Rzeszutek
b9fcb6b498
Reduce CallDepth classes' API surface ( #3497 )
2021-07-06 09:24:19 +02:00
Anuraag Agrawal
3cfa086ffd
Migrate nullaway config to plugin ( #3462 )
2021-07-01 18:13:16 +09:00
Mateusz Rzeszutek
15ed01d4fc
Change all instrumentation names to io.opentelemetry.{libName}-{libVersion} ( #3411 )
...
* Change all instrumentation names to io.opentelemetry.{libName}-{libVersion}
* minumum supported version
2021-06-30 15:34:36 +02:00
Anuraag Agrawal
761b9c280b
Migrate instrumentation gradle files to kotlin ( #3414 )
...
* Migrate instrumentation gradle files to kotlin
* Convert
* Muzzle
2021-06-28 17:27:12 +09:00
Anuraag Agrawal
785dc6adf2
Rename build files to build.gradle ( #3409 )
...
* Rename build files to build.gradle
* Rename smoke-tests
* Fix already broken
2021-06-25 16:10:31 +09:00
Anuraag Agrawal
deb0e255cf
Use plugins block everywhere for applying plugins ( #3386 )
...
* Use plugins block everywhere for applying plugins
* Actually it's library instrumentation
2021-06-24 11:13:35 +09:00
Mateusz Rzeszutek
02098b9353
Ignore task classes using IgnoredTypesConfigurer ( #3380 )
2021-06-23 10:15:02 -07:00
Anuraag Agrawal
80f43b7a6a
Migrate javaagent-instrumentation to plugin ( #3328 )
...
* Migrate instrumentation.gradle to plugin
* Migrate usages
* Remove old
* Fix
* Revert example
* afterEvaluate
Co-authored-by: Trask Stalnaker <trask.stalnaker@gmail.com>
2021-06-17 23:13:14 +09:00
Anuraag Agrawal
b7bfbf0cc6
Migrate instrumentation-library / common to plugins ( #3320 )
2021-06-15 11:54:48 -07:00
Anuraag Agrawal
224dc51e93
Migrate java.gradle to conventions plugin ( #3289 )
...
* Migrate java.gradle to convention plugin.
* Switch to java-conventions
* Remove old file
* Fix
* Fix merge
* Missing paragraph
Co-authored-by: Trask Stalnaker <trask.stalnaker@gmail.com>
2021-06-15 08:10:39 +09:00
Trask Stalnaker
4c80c62ce7
Add unused to remaining advice classes ( #3280 )
...
* Add unused to remaining advice classes
* Add newlines for visual separation
2021-06-14 11:12:02 +09:00
Lauri Tulmin
d4e64990fc
Add http client concurrency test with callback ( #3192 )
...
* Add http client concurreny test with callback
* Unwrap subscriber for needs executor tests
2021-06-07 12:29:08 -07:00
Trask Stalnaker
c1c052318b
Move more type instrumentations to top-level classes ( #3118 )
2021-05-28 17:24:19 -07:00
Anuraag Agrawal
ed88cca533
Migrate from spotbugs to errorprone ( #3122 )
...
* Migrate from spotbugs to errorprone
* Fix hashtable
* try-with-resources
* Fix from merge
Co-authored-by: Trask Stalnaker <trask.stalnaker@gmail.com>
2021-05-28 14:23:40 -07:00
Anuraag Agrawal
c358a35414
Use dependency management pattern for dependency versions ( #3113 )
...
* Use dependency management pattern for dependency versions.
* Add groovy bom too
* Update dependencyManagement/dependencyManagement.gradle.kts
Co-authored-by: Trask Stalnaker <trask.stalnaker@gmail.com>
Co-authored-by: Trask Stalnaker <trask.stalnaker@gmail.com>
2021-05-28 11:32:08 +09:00
Michael Bannister
d1b9413d88
Use configured NetPeerAttributes in OkHttp3 client tracer ( #3063 )
...
This will make it notice the peer-service-mapping settings to set peer.service span attribute
I know this approach is deprecated but I hope to follow this up with another change to use the
new Instrumenter API.
#3009
2021-05-23 09:29:18 +03:00
Mateusz Rzeszutek
bb8f515083
Refactor TypeInstrumentation#transformers() method ( #3019 )
...
* Refactor TypeInstrumentation#transformers() method part 1
Add TypeInstrumentation and its implementations
* Refactor TypeInstrumentation#transformers() method part 2
Use the new method in all existing TypeInstrumentation implementations
* Drift
* Spotless
Co-authored-by: Trask Stalnaker <trask.stalnaker@gmail.com>
2021-05-18 09:50:26 +02:00
Anuraag Agrawal
fe41885ee6
Switch to colon notation for dependencies. ( #2994 )
...
* Switch to colon notation for dependencies.
* Even more cleanup
* Revert mistake
2021-05-15 15:31:06 +09:00
Anuraag Agrawal
23dca77428
Instrument okhttp builder constructor instead of client ( #2946 )
...
* Instrument okhttp builder constructor instead of client
* Comment
2021-05-11 12:08:41 +09:00
Mateusz Rzeszutek
9c7fae3b04
Extract javaagent-extension-api from tooling & spi ( #2879 )
2021-05-06 23:30:25 -07:00
Trask Stalnaker
2ab92f556e
Fix duplicate http client tracing headers ( #2842 )
...
* Fix duplicate spring webclient tracing headers
* Fix Akka Http
* Fix Armeria
* Fix Java 11 Http Client
* Fix OkHttp 2.2
* Fix PlayWS
2021-04-23 13:05:10 -07:00
Lauri Tulmin
9464134ffd
Test failing async http request ( #2812 )
2021-04-19 14:11:27 -07:00
Trask Stalnaker
9bd028f767
Remove unnecessary genericness ( #2797 )
2021-04-14 00:01:28 -07:00
Trask Stalnaker
3bc058b10b
Don't create duplicate headers ( #2727 )
...
* Test infra
* Update examples
* Update instrumentation
* Update tests
* jaxrs-client fixes
* Remove doRequest/doReusedRequest
* Fix muzzle
* some fixes
* fix test
* doc
* not private
* Apply to doRequestWithCallback also
* Update doc
* groovy
* better
* Don't hardcode traceparent
* Reuse request in SpringRestTemplateTest
2021-04-12 12:21:16 +03:00
Anuraag Agrawal
fbba3001ee
Test callbacks for okhttp library instrumentation ( #2752 )
2021-04-08 14:20:32 -07:00
Anuraag Agrawal
d8f6018ba6
Split HttpClientTest execution methods for sync and callback ( #2675 )
2021-04-06 15:26:01 -07:00
Trask Stalnaker
6ea316e22e
Remove timeout annotations ( #2725 )
2021-04-06 16:36:18 +09:00
Mateusz Rzeszutek
1406855bb7
Revert "Prevent duplicate telemetry when using both library and auto instrumentation ( #2661 )" ( #2689 )
2021-04-01 16:11:15 -07:00
Mateusz Rzeszutek
30434696ae
Prevent duplicate telemetry when using both library and auto instrumentation ( #2661 )
...
* Prevent duplicate telemetry when using both library and auto instrumentation
* Add unit test
* Fix Oshi tests
* Fix couchbase 3.1 tests
2021-03-31 10:57:04 -07:00
Trask Stalnaker
0d11dbe565
Fix webflux client filter subscribe ( #2646 )
...
* Fix webflux client filter subscribe
* Add test
* Fix test
* Fix test, take 2
* Fix another test
* Suppress test for another module
* Suppress another library instrumentation
* Another
* Add nested client suppression in Armeria
* Add comments
* Revert extra line
2021-03-31 07:54:41 +03:00
Anuraag Agrawal
dcd316da7a
Enable strict context check and fix some context issues. ( #2637 )
...
* Enable strict context check and fix some context issues.
* Drift
* Drift and cache
* Exclude grizzly include akka
* Grizzly, scala
* ForkJoin worker
* webflux comment, grizzly typo
* Give up on akka for now
* threadpool
* Fallback on grizzly, wait for completion in executor cancellation tests
* Hystrix
* ratpack
* Cleanups
2021-03-29 08:08:11 +03:00
Mateusz Rzeszutek
ae23b97ec4
Move and rename NetPeerUtils ( #2548 )
...
* Move and rename NetPeerUtils
* Rename NetPeerUtils to NetPeerAttributes; inject instance instead of using a global var
* Rename SpanAttributeSetter to AttributeSetter (might be used to set on AttributesBuilder in the future, who knows)
* Deprecate default BaseTracer constructor: library instrumentations are supposed to inject all dependencies, the javaagent should explicitly pass globals
* fix compilation failure
* Remove peer.service customization from library instrumentation
2021-03-16 13:50:19 +01:00
Anuraag Agrawal
41fec5f610
Extract okhttp3 library instrumentation. ( #2489 )
...
* Extract okhttp3 library instrumentation.
* bad spotless
2021-03-05 09:35:35 +09:00
Trask Stalnaker
62f2611486
Update instrumentation names ( #2433 )
2021-03-01 19:34:25 -08:00
Anuraag Agrawal
000df967ce
Update to SDK 0.17.0 ( #2338 )
...
* Update to SDK 0.17.0
* Finish
* ottrace
2021-02-19 15:51:55 +09:00
Mateusz Rzeszutek
ee090aee1e
Support library instrumentations with HttpServerTest & HttpClientTest ( #2299 )
2021-02-16 09:05:23 -08:00
Nikita Salnikov-Tarnovski
e9a4b952dd
Add causality test with multiple concurrent requests ( #2156 )
...
* Add causality test with multiple concurrent requests
* Include support for Reactor Netty 1.0 into README.md
* Fix muzzle conf
* Fix muzzle and version constraints
* More strict causality check
* Better muzzle config
* Fixing muzzle
* Fixing deps
* Better library
* Better naming
2021-02-05 12:39:42 +02:00
Lauri Tulmin
32c34de593
Disable retry on connection failure for okhttp tests ( #2154 )
2021-02-02 19:34:49 +09:00
Lauri Tulmin
640a7d624b
Correct some spelling mistakes ( #2025 )
2021-01-12 11:10:45 -08:00
Anuraag Agrawal
8d74baa2e4
Run tests with javaagent. ( #1643 )
...
Co-authored-by: Trask Stalnaker <trask.stalnaker@gmail.com>
2021-01-04 13:13:24 -08:00