Mateusz Rzeszutek
cde2e70148
Implement new stable server semantic conventions ( #8663 )
2023-06-13 11:07:59 +02:00
Mateusz Rzeszutek
506ccb6b7d
Implement new stable network semantic conventions ( #8616 )
2023-06-12 16:51:47 +02:00
Mateusz Rzeszutek
5b03ae655f
Implement new stable HTTP semantic conventions ( #8632 )
2023-06-08 20:02:45 -07:00
Mateusz Rzeszutek
8ee63d4441
Implement new stable URL semantic conventions ( #8491 )
2023-06-05 15:22:22 +00:00
Mateusz Rzeszutek
eeb6ffd6e3
Deprecate InetSocketAddressNetClientAttributesGetter and move its met… ( #8591 )
2023-05-31 08:30:56 +02:00
Mateusz Rzeszutek
c10108bbe0
Enable HTTP client read timeout tests by default ( #8530 )
2023-05-19 10:24:49 -07:00
Mateusz Rzeszutek
d98c0b4192
Simplify/refactor `AbstractHttpClientTest` and replace protected method… ( #8510 )
2023-05-17 19:38:04 +03:00
Mateusz Rzeszutek
8ba8082f44
Refactor resend/redirect tests in AbstractHttpClientTest so that they… ( #8500 )
2023-05-16 12:13:40 -07:00
Mateusz Rzeszutek
e3944a53a5
Make net.transport an optional attribute ( #8279 )
2023-04-20 08:14:03 -07:00
Mateusz Rzeszutek
f501569106
Switch from http.flavor to net.protocol.* in HTTP client instrumentat… ( #8131 )
2023-04-07 13:39:42 +02:00
Lauri Tulmin
0638f983a6
Fix jfr metrics on openj9 and aws-sdk muzzle failure ( #8157 )
...
Resolves
https://github.com/open-telemetry/opentelemetry-java-instrumentation/issues/8156
Resolves
https://github.com/open-telemetry/opentelemetry-java-instrumentation/issues/8155
2023-03-29 10:49:17 +03:00
Lauri Tulmin
178bfd4856
Add http client metrics to apache http library instrumentation ( #8128 )
2023-03-24 14:36:18 +01:00
Lauri Tulmin
a51535d08e
Test http client captured headers ( #7993 )
2023-03-07 20:05:29 +02:00
Lauri Tulmin
b937dc478c
Assert user agent when it is present ( #7918 )
2023-02-27 20:46:39 +00:00
Anurag Agarwal
7bb978d2da
HttpClient 4.0 java tests ( #7912 )
...
Converts apache-httpclient-4.0 unit tests in java. Version 4.0 was using
GuardedBy annotation which was interfering with the test cases, hence
the library version was shifted to 4.1.
https://github.com/open-telemetry/opentelemetry-java-instrumentation/issues/7195
2023-02-27 08:53:16 -08:00
Trask Stalnaker
7993ef2433
Fix intellij warnings ( #7734 )
2023-02-06 09:21:30 +01:00
jason plumb
db6b764421
More HTTP testing refactor prework ( #7630 )
...
This is another follow-up from #7616 . This makes the test options class
immutable and uses `@AutoValue` and `@AutoValue.Builder`. As a result, a
bunch of the configuration/setup code for these said options now flings
around a builder instance. This isn't great, but I think it's an
incremental improvement that can be seen in the `@BeforeAll
AbstractHttpClientTest.setupOptions()` method, where the immutable
options are (finally) instantiated.
2023-01-23 09:42:32 -08:00
Mateusz Rzeszutek
e1895e548c
Rename all methods in all Getters to use the `get*()` naming scheme ( #7619 )
...
Resolves #6562
This PR only contains renames; the actual content is in the `*Getter`
interfaces, the rest of changes is just IntelliJ doing its job.
2023-01-23 09:28:11 +00:00
jason plumb
c5e384fe9f
Http testing refactor prework ( #7623 )
...
As part of discussions #7616 , the idea of trying to do a more piecemeal
approach came up. A reasonable ask.
This is the first step in refactoring the http client tests. It factors
out the `HttpClientResult` inner class of the `AbstractHttpClientTest`
so that this can be reused by new test framework later. It also factors
the relevant abstract methods in the abstract class to a new type
adapter, which will also be reused.
Co-authored-by: Mateusz Rzeszutek <mrzeszutek@splunk.com>
2023-01-20 18:20:42 +00:00
Mateusz Rzeszutek
40667ce719
Fix inconsistent handling of net.peer.port in HTTP instrumentations ( #7618 )
...
Resolves #4329
2023-01-20 09:57:46 +01: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
a9e7eb1264
Fix CI ( #7138 )
...
Resolves #7139
2022-11-11 13:42:19 -08:00
Trask Stalnaker
5345c87680
End groovy files with newline ( #7127 )
2022-11-10 12:21:55 +01:00
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
Trask Stalnaker
5184a523b6
Add test for null httpcontext ( #6823 )
...
follow-up to #6792
2022-10-07 12:39:50 +03:00
jason plumb
d9b25d34df
Guard against null HttpContext ( #6792 )
...
Resolves #6787
Co-authored-by: Trask Stalnaker <trask.stalnaker@gmail.com>
2022-10-06 16:03:03 -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
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
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
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
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
Mateusz Rzeszutek
87b412fb40
Instrumentation API changes: OperationMetrics, OperationListener ( #6016 )
...
* Instrumentation API changes: OperationMetrics, OperationListener
* errorprone
2022-05-12 11:16:46 -07:00
Daniel Gradecak
a06f4b1e8e
fix NPE for commons-httpclient v3.1 ( #5944 ) ( #5949 )
...
* fix NPE for commons-httpclient v3.1 (#5944 )
* fix NPE for commons-httpclient v3.1 (#5944 ) - spotless fixes
* extracting abstract class with reused code (#5944 )
2022-04-28 20:19:52 -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
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
Anuraag Agrawal
333e7bbd50
Migrate apache-httpclient-4.3 tests to Java. ( #5774 )
...
* Migrate apache-httpclient-4.3 tests to Java.
* Spot
2022-04-08 15:04:23 +09:00
Anurag Agarwal
13a851ba24
Apache httpasyncclient 5.x ( #5697 )
...
* Copies code for httpasyncclient-4.1 and creates instrumentation for 5.0
* Makes import changes for http client 5
* Decorate request channel and changes type in tests
* Corrects test cases
* Corrects most of the test cases
* Forces http1 protocol to pass the test cases
* Merge supported libraries for async client
Co-authored-by: Mateusz Rzeszutek <mrzeszutek@splunk.com>
* Remove http.sceme and http.target attr from test
Co-authored-by: Mateusz Rzeszutek <mrzeszutek@splunk.com>
* Removes not needed null check for status code
* Replaces slf4j loggers with JUL
* Inlined flavor extraction in attributes getter
* Uses parameter placeholders for logging
* Uses success endpoint to test flavor
* Merges httpasyncclient and httpclient modules
* Merges http client 5 modules
* Update java-8 compatible changes
Co-authored-by: Mateusz Rzeszutek <mrzeszutek@splunk.com>
* Change instrumentation name
Co-authored-by: Mateusz Rzeszutek <mrzeszutek@splunk.com>
* Adds missing import statement
* Rename packages
* Java 8
* Reverts adding 5.0+ support from supporting libraries
* Deleted hanging module
* Uses seconds instead of ms in http test
* Merges both classic and async client implementations
* Moves http client all test cases to java tests
* Uses abstract apache test class and moves boilerplate
* Uses connection and read timeouts from ApacheHttpClientTest
* Refactors remaining classes, shifts logic to HttpUtils
* Renames HttpUtils to ApacheHttpClientUtils
* Corrects failing code style error
* Corrects build errors
* Renames package to have http client version
* Corrects package name
* Uses instrumenter as static import
* Inline utility methods
Co-authored-by: Mateusz Rzeszutek <mrzeszutek@splunk.com>
Co-authored-by: Trask Stalnaker <trask.stalnaker@gmail.com>
2022-04-07 08:45:06 -07:00
Mateusz Rzeszutek
56f65e4fab
Convert all logging statements from slf4j to jul - part 1 ( #5628 )
...
* Convert all logging statements from slf4j to jul - part 1
* fix tests
* use placeholders
* fixed all comments, added static imports for Level
2022-03-22 10:35:27 -07:00
Anuraag Agrawal
cd528e98fb
Rename library entrypoints to Telemetry ( #5624 )
...
* Rename library entrypoints to Telemetry
* Renames
2022-03-22 14:39:23 +09:00
Lauri Tulmin
27d5df11a6
Only set read timeout for requests to /read-timeout ( #5651 )
2022-03-21 13:54:36 +02:00
Mateusz Rzeszutek
b0d5fc6b99
Remove deprecated methods from instrumentation-api and library instrumentations ( #5575 )
2022-03-15 09:33:48 +09:00
Lauri Tulmin
e9c1efece2
Update to Groovy 4 ( #5532 )
...
* Update to Groovy 4
* exclude spock from grails tests, update comment
* Update instrumentation/grails-3.0/javaagent/build.gradle.kts
Co-authored-by: Trask Stalnaker <trask.stalnaker@gmail.com>
Co-authored-by: Trask Stalnaker <trask.stalnaker@gmail.com>
2022-03-09 15:07:41 -08:00
Mateusz Rzeszutek
f6cca58f1f
Deprecate CapturedHttpHeaders and replace it with builder methods ( #5533 )
2022-03-09 12:21:32 -08:00
Mateusz Rzeszutek
4a98dae431
Add builders for setting optional attributes on HTTP extractors ( #5347 )
...
* Add builders for setting optional attributes on HTTP extractors
* errorprone
* fix compilation failure
2022-03-08 17:21:14 +01:00
Trask Stalnaker
022914139e
test latest deps cleanup ( #5269 )
...
* test latest deps cleanup
* Revert currently irrelevant change
* Update instrumentation/lettuce/lettuce-4.0/javaagent/build.gradle.kts
Co-authored-by: Nikita Salnikov-Tarnovski <gnikem@gmail.com>
Co-authored-by: Nikita Salnikov-Tarnovski <gnikem@gmail.com>
2022-02-01 09:49:07 -08:00