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
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
f488d94403
Capture net.host.name for netty ( #6892 )
...
This may be a regression in 1.19.0 because you can no longer reconstruct
the original url for netty server spans (previously `http.host` was
captured which could be used).
2022-10-19 09:21:50 -07:00
Trask Stalnaker
895880b121
Fix akka testLatestDeps ( #6900 )
...
Resolves #6901
2022-10-17 17:45:05 -07: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
Lauri Tulmin
e526338fc3
Fix akka-http and tomcat10 latest dep tests ( #6766 )
...
Resolves
https://github.com/open-telemetry/opentelemetry-java-instrumentation/issues/6760
Resolves
https://github.com/open-telemetry/opentelemetry-java-instrumentation/issues/6759
2022-09-27 15:45:04 -07:00
Mateusz Rzeszutek
714ba9189e
Remove deprecated `http.host` and `http.server_name` attributes ( #6709 )
...
... and make sure the `TemporaryMetricsView` follows the current spec
2022-09-24 11:02:21 -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
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
Trask Stalnaker
9366e3aedb
Muzzle review ( #6437 )
...
* Muzzle review
* Fix
2022-08-08 08:29:14 -07:00
Trask Stalnaker
c3d0498030
Change akka-actor base version from 2.5 to 2.3 ( #6439 )
...
* Change akka-actor base version
* Updates
* spotless
Co-authored-by: Lauri Tulmin <ltulmin@splunk.com>
2022-08-08 08:27:54 -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
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
a45ee01259
Test latest version of akka-http ( #5945 )
...
* Test latest version of akka-http
* checkstyle
* spotless
2022-04-28 15:08:58 +03:00
Anuraag Agrawal
2c8b9ff1ce
Migrate akka http test to scala ( #5586 )
...
* Migrate akka http test to scala
* Don't use compat module
* Fix latest deps
2022-03-18 16:35:00 +09:00
Lauri Tulmin
45bd419ec0
Run tests with jdk17 ( #5598 )
2022-03-17 13:25:16 -07:00
Lauri Tulmin
b3496381f1
Write http server tests in java ( #5501 )
...
* Write http server tests in java
* typo
* Apply suggestions from code review
Co-authored-by: Trask Stalnaker <trask.stalnaker@gmail.com>
* add comments
* address review comments
* use Predicate
Co-authored-by: Trask Stalnaker <trask.stalnaker@gmail.com>
2022-03-08 14:21:59 -08:00
Trask Stalnaker
53a8b85f4c
Updates to http.server_name ( #5369 )
...
* Updates to http.server_name
* Tests
* fix
* armeria
* fix
* fix
* codenarc
2022-02-18 09:38:21 -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
Mateusz Rzeszutek
edc185b133
Rename ServerSpanNaming to HttpRouteHolder ( #5211 )
...
* Rename ServerSpanNaming to HttpRouteHolder
* HttpRouteBiGetter
2022-01-25 09:44:15 -08:00
Mateusz Rzeszutek
9381d5a264
Expected server span name for null route should be HTTP GET ( #5197 )
2022-01-21 19:35:48 -08:00
Matthew Ho
66bf050bf8
Akka http server span names are always akka.request #3478 ( #5150 )
...
* Akka http server span names are always akka.request #3478
- removed hardcoded span name "akka.request"
- implemented route() in AkkaHttpServerAttributesExtractor to provide a better span name
- retrofitted AkkaHttpServerInstrumentationTest.groovy
* Akka http server span names are always akka.request #3478
- removed hardcoded span name "akka.request" and changed to "HTTP {METHOD}"
- retrofitted AkkaHttpServerInstrumentationTest.groovy
* Akka http server span names are always akka.request #3478
- removed hardcoded span name "akka.request" and changed to "HTTP {METHOD}"
- retrofitted AkkaHttpServerInstrumentationTest.groovy
* Akka http server span names are always akka.request #3478
- removed hardcoded span name "akka.request" and changed to "HTTP {METHOD}"
- retrofitted AkkaHttpServerInstrumentationTest.groovy and related tests
2022-01-20 14:11:33 -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
540e4cfafb
Remove HttpServerTest#extraAttributes() method ( #5176 )
...
* Remove HttpServerTest#extraAttributes() method
* fix ktor tests
* fix ratpack and restlet tests
* fix servlet2 tests
* Fix webflux and vertx tests
2022-01-20 10:41:41 -08:00
Mateusz Rzeszutek
872c6c7d80
Add `http.route` to the server span when `ServerSpanNaming` is updated ( #5086 )
...
* Add `http.route` to the server span when `ServerSpanNaming` is updated
* fix camel tests
* fix test compilation failure
* assert route in camel instrumentation
2022-01-14 13:52:06 -08:00
Trask Stalnaker
db8cd050a7
Add spotless to standalone subprojects ( #5058 )
...
* Update spotless version
* Add spotless to benchmark-overhead
* Add spotless to smoke-test images
* Add spotless to examples
* Apply spotless
* Resolve log4j conflict
* Apply spotless after upgrade
2022-01-10 12:46:52 -08:00
Nikita Salnikov-Tarnovski
1a9c633b4b
Rename some packages, move some classes ( #5043 )
...
* Rename some packages, move some classes
2022-01-09 13:26:51 +02:00
Trask Stalnaker
6884d66c09
Reduce top level instrumentation directories ( #4965 )
...
* akka
* dropwizard
* kafka
* reactor
* vertx
2021-12-22 10:16:13 -08:00