Commit Graph

23 Commits

Author SHA1 Message Date
renovate[bot] b1eb1fd3d9
fix(deps): update dependency io.opentelemetry.semconv:opentelemetry-semconv to v1.30.0-rc.1 (#13116)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Lauri Tulmin <ltulmin@splunk.com>
2025-01-30 14:18:43 -08:00
Lauri Tulmin 28db801474
Convert jaxrs tests to java (#12816) 2024-12-01 08:42:46 -08: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 f4d2f28b98
Increase timeout, make test more resilient to failures (#10867) 2024-03-15 15:11:44 +02:00
Lauri Tulmin b57c1a023b
Update semconv (#10272) 2024-01-30 17:10:35 +00: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 8bc5297d6d
Don't normalize the '-' character in HTTP header names (#9735) 2023-10-24 09:16:13 -07:00
Mateusz Rzeszutek 9cb157492c
Replace `(client|server).socket.(address|port)` attributes with `network.(peer|local).(address|port)` (#9676) 2023-10-18 10:36:32 +00:00
Mateusz Rzeszutek 3136916749
Add HTTP server tests for non standard methods (#9446) 2023-09-15 08:43:36 -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
Mateusz Rzeszutek 6e573289ae
Replace NetAttributes with SemanticAttributes (#8992) 2023-07-21 11:27:54 +02:00
Mateusz Rzeszutek e3944a53a5
Make net.transport an optional attribute (#8279) 2023-04-20 08:14:03 -07:00
OpenTelemetry Bot 22df5866b0
Update the OpenTelemetry SDK version to 1.25.0 (#8262)
Co-authored-by: Lauri Tulmin <ltulmin@splunk.com>
2023-04-10 18:12:57 -07:00
Mateusz Rzeszutek 5b271c4917
Switch from http.flavor to net.protocol.* in HTTP server instrumentat… (#8244) 2023-04-09 08:47:33 -07:00
Ago Allikmaa e466dc439a
Add HttpServerResponseCustomizer support for Servlet and Jetty (#8095)
Add `HttpServerResponseCustomizer` support for Servlet 2.2/3.0/5.0 and
Jetty 8/11 instrumentations. Enabled testing for it in JaxRs tests as
well since those should now all be covered due to servlet
instrumentations. Fixed Jetty 11 test source set directory name.

Known limitation - response headers do not work on Jetty 8 for internal
exception pages caused by throwing an exception that is handled outside
of instrumentation scope, working around this would require an
additional instrumentation and/or keeping an expired `Context` instance
referenced by the response object. This does not appear to be an issue
on Jetty 11. Additionally, calling `ServletResponse#reset` can wipe
headers as well, for which there is no workaround (yet?) in this PR.
2023-03-23 12:01:07 +01:00
Ago Allikmaa a9788a22de
Provide ability to add HTTP server response headers, with Tomcat implementation (#7990)
This allows custom distributions of the agent to register
`HttpServerResponseCustomizer` implementations. When a supported HTTP
server instrumentation starts processing a response, the `onStart`
method of all registered implementations will be invoked with the
`Context` of the SERVER span, an instrumentation-specific response
object and `HttpServerResponseMutator` instance that allows appending
headers to that response.

The intent of this is to allow custom distributions to set a header
containing span context information, such as the trace and span IDs. As
such, the initial implementation only allows appending response headers
and nothing else.

The `HttpServerResponseCustomizer` and related classes are currently in
a subpackage of the `io.opentelemetry.javaagent.bootstrap` package in
`javaagent-extension-api`. This makes them get loaded in the bootstrap
classloader, thus directly accessible from instrumentations. I am not
aware if there is an elegant way to put it in the agent classloader
instead, yet have the same instance accessible from both
`AgentInstaller` and instrumentations.

This also includes Tomcat-specific implementation in order to be able to
demonstrate that it works, and add automated testing of this to
HttpServerTest including one implementation.
2023-03-13 17:46:39 +01:00
Mateusz Rzeszutek ea237e3a80
Update HTTP span name extractors (#7730)
Implements
https://github.com/open-telemetry/opentelemetry-specification/issues/2998

---------

Co-authored-by: Trask Stalnaker <trask.stalnaker@gmail.com>
2023-02-14 07:40:05 -08:00
Trask Stalnaker 94e2248940
Use new semantic attribute constants (#6946) 2022-10-23 09:32:03 -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 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
Lauri Tulmin cd2e11a9d6
Add instrumentation for JAX-RS 3.0 (#6136)
* Add instrumentation for JAX-RS 3.0

* set min java version to 11 for jax-rs 3.0

* exclude broken version

* fix muzzle range

* include correct api

* fix muzzle

* fix muzzle

* remove generics

* share test code
2022-06-03 12:49:14 +03:00