Commit Graph

112 Commits

Author SHA1 Message Date
Nikita Salnikov-Tarnovski e7b8cca107
Convert TextMapSetters and TextMapGetters to enums (#4522)
* Convert TextMapSetters to enums

* Convert TextMapGetters to enums
2021-11-08 22:01:40 +02:00
Lauri Tulmin 44cec73cec
Fix flaky okhttp read timeout tests (#4499) 2021-10-25 13:45:21 -07:00
Nikita Salnikov-Tarnovski 8ea59f0846
Rename all InjectAdapters to Setters (#4489)
* Rename all InjectAdapters to Setters

* Errorprone fixes

* Make setter public
2021-10-25 12:36:59 -07:00
Martin d314d76fce
rename `newBuilder()` to `builder()` (#4475)
* rename `newBuilder()` to `builder()`

* rename `newBuilder()` to `builder()`
2021-10-22 20:50:43 -07:00
Mateusz Rzeszutek 13f28dca2a
Enable read timeout tests in OkHTTP instrumentation (#4422) 2021-10-19 13:38:36 -07:00
Martin ac91dc090a
Type annotation placement (#4406)
* switch annotation `org.checkerframework.checker.nullness.qual.Nullable` to `javax.annotation.Nullable`

* code format
2021-10-17 17:38:43 -07:00
Trask Stalnaker 63a2383905
Split NetAttributesExtractor into NetClientAttributesExtractor and NetServerAttributesExtractor (#4287)
* Net Extractors

* Either request or response but not both

* Fix merge conflicts

* Separate by OnStart/OnEnd

* PeerServiceAttributes

* Fix test

* Restructure to client/server

* Fix merge conflict in main

* more

* peer.service

* Feedback

* peer.service is only for clients

* Fix merge conflict

* rename

* Armeria

* peer.service is only for clients

* rename

* WIP

* Sync Dubbo with Armeria

* More Dubbo and Armeria

* gRPC

* Revert some Dubbo changes

* more peer.service

* Fix test

* Fix merge

* Fixes
2021-10-07 15:40:15 -07:00
Nikita Salnikov-Tarnovski a48bd9de3f
Move PeerServiceAttributesExtractor from javaagent api to instrumentation api (#4235)
* Move PeerServiceAttributesExtractor from javaagent api to instrumentation api

* spotless
2021-10-06 12:42:55 -07:00
Mateusz Rzeszutek f80f4a9f63
Allow configuring captured HTTP headers in library instrumentations (#4309) 2021-10-06 13:32:39 +02:00
Mateusz Rzeszutek d3dbe415a1
Move HttpHeadersConfig methods back to instrumentation-api (#4298)
* Move HttpHeadersConfig methods back to instrumentation-api

* remove unnecessary method
2021-10-06 10:51:45 +02:00
Mateusz Rzeszutek 7791be24e0
Remove implementations of host() and userAgent() in HTTP extractors (#4299)
* Remove implementations of host() and userAgent() in HTTP extractors

* fix broken headers copying
2021-10-05 10:25:45 -07:00
Mateusz Rzeszutek 7473eff1e6
Extract HTTP request/response headers as span attributes (#4237)
* Extract HTTP request/response headers as span attributes

* fix muzzle

* code review comments

* fix compilation failure after merge conflict

* avoid using streams API when transforming the headers list

* fix liberty extractor

* fix spring webmvc extractor
2021-10-05 10:20:59 +02:00
Mateusz Rzeszutek c11b96e4d0
Make it possible to use InstrumentationContext (now VirtualField) fro… (#4218)
* Make it possible to use InstrumentationContext (now VirtualField) from library instrumentation

* fix tests

* fix javadocs

* fix some more tests

* code review comments

* setIfNull, computeIfNull
2021-10-01 11:13:11 +02:00
Trask Stalnaker 9ea33edf08
Remove attrs from http client attributes extractor (#4210)
* Remove scheme/host/target from HttpClientAttributesExtractor

* And jaxrs-client

* Remove unused methods
2021-09-28 12:58:42 -07:00
Mateusz Rzeszutek a277a8b636
Separate HTTP client/server AttributesExtractors (#4195) 2021-09-24 10:06:23 -07:00
Trask Stalnaker b8391b1354
Remove the only two author tags (#4129)
* Remove the only two author tags

* Spotless
2021-09-15 09:42:04 -07:00
Matthew Ho 6967484a97
Update groovy import order to match default IntelliJ (#1708) (#4047)
* Update groovy import order to match default IntelliJ (#1708)

* organized imports for .groovy files to follow default IntelliJ import settings

* updated intellij-setup.md

* Spotless

* drift

Co-authored-by: Trask Stalnaker <trask.stalnaker@gmail.com>
2021-09-11 11:53:08 -07:00
Mateusz Rzeszutek ab9c688e7a
Test nested CLIENT span suppression in library instrumentations (#3970) 2021-08-27 11:16:59 +02:00
Mateusz Rzeszutek f808090a4a
Enable kubernetes-client strict context check (#3945) 2021-08-25 09:32:56 -07:00
Lauri Tulmin a923efc077
Strict context check on okhttp3 (#3925) 2021-08-24 09:43:34 -07:00
John Watson fa168268c5
Revert okhttp library instrumentation back to using standard reflection to support Android usage (#3910)
* Revert back to using standard reflection to support Android usage

* Add a comment about not using MethodHandles
2021-08-23 18:58:43 -07:00
Trask Stalnaker 3525733ea8
Enable strict context check in tests by default (#3822) 2021-08-23 17:40:02 -07:00
Lauri Tulmin f89579a3ab
Convert okhttp-2.2 to instrumenter api (#3852)
* Convert okhttp-2.2 to instrumenter api

* Rephrase comment
2021-08-19 12:59:20 +03:00
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