Mateusz Rzeszutek
77035fc88c
Extract `net.peer.{name,port}` on start for CLIENT spans ( #6828 )
...
The [HTTP
spec](https://github.com/open-telemetry/opentelemetry-specification/blob/main/specification/trace/semantic_conventions/http.md#http-client )
says these two attributes must be provided at span creation time - I
think it makes sense to extend it over to all `net`-related
instrumentations, cause these are supposed to be the logical peer
name/port, which are supposed to be known before the connection is
started/exchange is made.
2022-10-10 16:00: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
Trask Stalnaker
f1774cabe2
Update net semantic convention changes ( #6268 )
...
* New net conventions: option a
* Feedback + sock.family + sock.peer.name
* peer.service + tests
* server net attributes attempt 1
* server net attributes attempt 2
* Javadoc
* Revisions
* Apply to instrumentations
* Feedback
* One more default method
* Spotless
* Fix javadoc
2022-08-18 09:02:23 -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
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
5a152cd289
Deprecate uncompressed content length HTTP attributes ( #6383 )
2022-07-29 06:17:38 +02:00
Mateusz Rzeszutek
82b39b1012
Rename `newInstrumenter()` into `buildInstrumenter()` ( #6363 )
...
* Rename newInstrumenter() into buildInstrumenter()
* spotless
2022-07-25 12:02:46 -07:00
Mateusz Rzeszutek
3af56e7d22
InstrumentationConfig part 3: HTTP headers and peer service mappings ( #6302 )
2022-07-15 14:52:52 -07:00
Jean Bisutti
e8ee277ec6
sun.net.www.protocol.http.HttpURLConnection.getOutputStream should tr… ( #6053 )
...
* sun.net.www.protocol.http.HttpURLConnection.getOutputStream should transform GET into POST
* Code simplification
Co-authored-by: Mateusz Rzeszutek <mrzeszutek@splunk.com>
* New implementation to not depend on the execution order of connection's methods
* Add condition on request method in case of exception
* Code uniformity
* Update span name
* Update instrumentation/http-url-connection/javaagent/src/test/groovy/HttpUrlConnectionTest.groovy
Co-authored-by: Trask Stalnaker <trask.stalnaker@gmail.com>
* Update instrumentation/http-url-connection/javaagent/src/test/groovy/HttpUrlConnectionTest.groovy
Co-authored-by: Trask Stalnaker <trask.stalnaker@gmail.com>
* Update instrumentation/http-url-connection/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/httpurlconnection/HttpMethodAttributeExtractor.java
Co-authored-by: Trask Stalnaker <trask.stalnaker@gmail.com>
* Add volatile
* Format code
Co-authored-by: Mateusz Rzeszutek <mrzeszutek@splunk.com>
Co-authored-by: Trask Stalnaker <trask.stalnaker@gmail.com>
2022-05-25 10:28:19 -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
d919f84cf8
Merge javaagent-instrumentation-api into javaagent-extension-api ( #5936 )
...
* Merge javaagent-instrumentation-api into javaagent-extension-api
* remove some leftover references to javaagent-instrumentation-api
* add missing instrumentation-api to distro example
2022-04-28 20:11:15 -07:00
Lauri Tulmin
875b7fe3ad
Simplify HttpUrlConnection instrumentation ( #5673 )
2022-03-23 09:39:45 -07:00
Anuraag Agrawal
854f3eb3dc
Remove test of httpurlconnection implementation detail ( #5670 )
2022-03-23 16:02:21 +09:00
Lauri Tulmin
45bd419ec0
Run tests with jdk17 ( #5598 )
2022-03-17 13:25:16 -07:00
Trask Stalnaker
c06d70d174
Remove JAXRS HttpClient instrumentation ( #5430 )
2022-02-28 22:47:26 -08:00
Mateusz Rzeszutek
8b767ac435
Refactor HTTP attributes extractors to use composition over inheritance ( #5267 )
...
* Refactor HTTP attributes extractors to use composition over inheritance
* Rename remaining variables: *Extractor to *Getter
2022-01-31 09:25:27 -08:00
jason plumb
c5c0a2bcdf
NetClientAttributesAdapter - favor composition over inheritance ( #5030 )
...
* first pass at separating NetAttributesAdapter interface and make NetClientAttributesExtractor concrete
* rename the implementations extractor -> adapter
* hide constructor and make factory method
* rename to client and add javadoc
* spotless
* finish javadoc thought
* rebase
* renamed NetClientAttributesAdapter to NetClientAttributesGetter
* fix lettuce
* code review comments
* code review comments -- renaming for consistency
* adapter -> getter
* fix ratpack
* adapter -> getter
2022-01-20 10:51:13 -08:00
Mateusz Rzeszutek
331ce287d2
Don't use HttpStatusConverter outside of instrumentation-api ( #4870 )
...
* Don't use HttpStatusConverter outside of instrumentation-api
* add comment
2021-12-14 10:07:18 +01:00
Trask Stalnaker
ce4cef76f9
Clean up groovy assertions ( #4805 )
2021-12-05 23:23:58 -08:00
Lauri Tulmin
b287c8d1d0
Enable read timeout test for some http clients ( #4702 )
...
* Enable read timeout test for some http clients
* remove unused import
* use separate client for read timeout request
2021-11-28 13:18:26 -08:00
Lauri Tulmin
fac60ddb3c
Enable read timeout test for HttpURLConnection ( #4699 )
2021-11-23 10:30:45 -08:00
Trask Stalnaker
81cb8e61db
More metrics ( #4541 )
2021-10-29 10:17:35 +03: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
Lauri Tulmin
9b8ab5eeec
Migrate to spock 2 ( #4458 )
...
* Migrate to spock 2
* Fix smoke test suites
* address review comments
* review comment
Co-authored-by: Trask Stalnaker <trask.stalnaker@gmail.com>
2021-10-22 08:40:58 -07:00
jason plumb
a50c13382f
Don't report 400 level as error for SERVER spans ( #4403 )
...
* don't report 400 level as error for server spans
* fix HttpServerTest base class
* fix JspInstrumentationForward test
* split HttpStatusConverter into client and server implementations, and create two HttpSpanStatusExtractor.create methods, one for server and one for client.
* rebase
* fix test
* spotless
* fix test
* remove unused
* use strongly typed attributes converters and rename to overloaded create()
* fix tests
* remove redundant assert
Co-authored-by: Trask Stalnaker <trask.stalnaker@gmail.com>
2021-10-20 13:39:35 -07:00
Trask Stalnaker
8739cdf73e
Capture response headers for HttpUrlConnection ( #4417 )
2021-10-19 10:18:19 -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
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
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
Trask Stalnaker
2c044253e8
HttpURLConnection response code edge case ( #4062 )
2021-09-08 07:55:21 -07:00
jack-berg
f89933b67c
Transition http-url-connection module to instrumenter API ( #4044 )
...
* Convert http-url-connection to instrumenter API
* Replace HttpUrlResponse with response status code Integer
2021-09-07 14:54:16 -07:00
Lauri Tulmin
7a705d861e
Move SpringRestTemplateTest ( #3870 )
2021-08-19 12:58:24 +03: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
Anuraag Agrawal
d3b62de8a5
Replace most uses of TraceUtils with testRunner runWithSpan. ( #3582 )
2021-07-15 10:30:34 -07:00
Mateusz Rzeszutek
b9fcb6b498
Reduce CallDepth classes' API surface ( #3497 )
2021-07-06 09:24:19 +02: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
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
Trask Stalnaker
b25ac0f1ad
Clean up old operation name terminology ( #3282 )
2021-06-13 22:10:36 -07:00