Trask Stalnaker
b08d272e23
Remove experimental methods out of (to-be-public) TelemetryBuilder classes ( #12847 )
2024-12-16 18:40:06 -08:00
Trask Stalnaker
4cc4e1c0b2
Consistent naming of addAttributesExtractor ( #12860 )
2024-12-10 12:45:20 -08:00
Trask Stalnaker
2371589ec5
Statically import semconv constants in tests ( #12575 )
2024-11-06 08:17:57 -08:00
Gregor Zeitlinger
b9f09cae88
Http server builder ( #11651 )
2024-10-07 09:41:24 -07:00
Gregor Zeitlinger
e397159bfb
http server and client builder for netty ( #12083 )
2024-09-24 07:53:18 +03:00
Lauri Tulmin
7bb0c6bb85
Test whether http client span ends after headers or body is received ( #12149 )
2024-09-04 15:52:16 +03:00
Gregor Zeitlinger
b00ccd7834
use DefaultHttpClientInstrumenterBuilder and DefaultHttpServerInstrumenterBuilder for armeria ( #11797 )
...
Co-authored-by: Trask Stalnaker <trask.stalnaker@gmail.com>
2024-08-14 17:37:24 -07:00
Gregor Zeitlinger
0e218de455
Remove reflection from builder ( #11673 )
2024-06-27 07:38:54 +00:00
Gregor Zeitlinger
47ebb94253
re-use logic for http client configuration ( #11620 )
...
Co-authored-by: Trask Stalnaker <trask.stalnaker@gmail.com>
2024-06-21 16:58:41 -07:00
Lauri Tulmin
de30e3120a
Add http/2 tests for jdk http client ( #11506 )
2024-06-01 11:20:45 +03:00
Lauri Tulmin
7a06507f80
Allow library instrumentations to override span name ( #11355 )
...
Co-authored-by: Trask Stalnaker <trask.stalnaker@gmail.com>
2024-05-17 12:10:32 +03:00
SylvainJuge
955470a63a
Semconv 1.25.0 migration ( #10983 )
...
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-04-09 11:25:52 -07:00
Lauri Tulmin
a2d4148067
Remove http stable semconv tests ( #10087 )
2023-12-21 08:30:26 -08:00
Mateusz Rzeszutek
65ee9510f5
Rename the `instrumentation-api-semconv` module into `instrumentation-api-incubator` ( #9985 )
2023-12-04 08:28:10 +01:00
Mateusz Rzeszutek
dc81aae72f
Move HTTP classes to instrumentation-api ( #9977 )
2023-12-01 12:04:06 +01:00
Mateusz Rzeszutek
280c1ea4c1
Enable stable HTTP semconv by default ( #9925 )
2023-11-28 10:43:51 -08:00
Mateusz Rzeszutek
d6c2aff7c2
Change `http.request.body.size` and `http.response.body.size` attributes from recommended to opt-in ( #9799 )
2023-11-02 11:20:50 -07:00
Matthieu MOREL
9a1c178d58
PeerService Resolver ( #9061 )
...
Signed-off-by: Matthieu MOREL <matthieu.morel35@gmail.com>
Co-authored-by: Mateusz Rzeszutek <mrzeszutek@splunk.com>
Co-authored-by: jason plumb <75337021+breedx-splk@users.noreply.github.com>
Co-authored-by: Trask Stalnaker <trask.stalnaker@gmail.com>
Co-authored-by: Lauri Tulmin <ltulmin@splunk.com>
2023-10-12 07:52:05 -07:00
Trask Stalnaker
3b77cc4b2d
Semconv 1.21 ( #9408 )
...
Co-authored-by: Lauri Tulmin <ltulmin@splunk.com>
2023-09-13 19:20:23 +00:00
Lauri Tulmin
d157b68efb
Use HTTP instead of non-known method in http span name ( #9441 )
...
Co-authored-by: Mateusz Rzeszutek <mrzeszutek@splunk.com>
2023-09-13 10:14:30 -07:00
Trask Stalnaker
cc4e1bf1ae
Update semconv to 1.21.0, PART 2 - HTTP ( #9372 )
2023-09-07 08:25:23 -07:00
Lauri Tulmin
b9e459da07
Test http client stable semconv ( #9178 )
2023-08-13 10:22:04 -07:00
Trask Stalnaker
67f91b8833
Update network.protocol.version 2.0 -> 2 and 3.0 -> 3 ( #9145 )
2023-08-13 10:01:47 -07:00
Mateusz Rzeszutek
d81630331b
Make `HttpClientAttributesGetter` extend `NetClientAttributesGetter` ( #9015 )
2023-07-31 11:09:09 -07:00
Mateusz Rzeszutek
cabf0dfdf4
Refactor setKnownMethods() in HTTP instrumentations to avoid nullable… ( #8994 )
2023-07-23 20:03:14 -07:00
Mateusz Rzeszutek
6e573289ae
Replace NetAttributes with SemanticAttributes ( #8992 )
2023-07-21 11:27:54 +02:00
Mateusz Rzeszutek
59e2da5aa3
Extract HTTP client experimental metrics to a separate class ( #8769 )
2023-07-18 08:34:39 -07:00
Mateusz Rzeszutek
cc8160cffb
Support the `http.request.method_original` attribute ( #8779 )
2023-07-17 09:41:41 +00:00
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
c10108bbe0
Enable HTTP client read timeout tests by default ( #8530 )
2023-05-19 10:24:49 -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
08236a710f
Add library instrumentation for java http client ( #8138 )
...
Resolves
https://github.com/open-telemetry/opentelemetry-java-instrumentation/issues/8069
The javaagent instrumentation also supports propagating context into
[BodyHandler](https://docs.oracle.com/en/java/javase/11/docs/api/java.net.http/java/net/http/HttpResponse.BodyHandler.html )
implemented in
https://github.com/open-telemetry/opentelemetry-java-instrumentation/blob/main/instrumentation/java-http-client/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/httpclient/BodyHandlerWrapper.java
I think the initial idea behind it was that this allowed propagating
context into callbacks. Because this didn't work for
`connectionErrorUnopenedPortWithCallback` test later we also added
wrapping completable future to take care of propagating context into
callbacks. Should I also implement context propagation for `BodyHandler`
in library instrumentation or should I just delete it? I guess it could
come handy if someone builds a custom `BodyHandler` and wants to emit
spans from there, though this doesn't feel too likely. I'd like deleting
it more.
---------
Co-authored-by: Trask Stalnaker <trask.stalnaker@gmail.com>
2023-04-03 13:08:29 -07:00
Lauri Tulmin
8deaaaedbf
Avoid duplicate instrumentation in jdk http client sendAsyncMethod ( #8127 )
...
There are 2 `sendAsync` methods
https://docs.oracle.com/en/java/javase/11/docs/api/java.net.http/java/net/http/HttpClient.html#sendAsync(java.net.http.HttpRequest,java.net.http.HttpResponse.BodyHandler)
and one of them calls the other.
2023-03-25 13:08:40 +02: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
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
Mateusz Rzeszutek
4cbfd7da8b
Refactor JDK HttpClient tests to Java ( #6486 )
2022-08-22 09:48:29 +02: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