Commit Graph

280 Commits

Author SHA1 Message Date
Jay DeLuca a3a3b8bc87
Be consistent about using snake case in metadata yaml (#13610) 2025-03-28 14:13:58 -07:00
Jay DeLuca 8cd3ea03ab
Add disabledByDefault to metadata.yaml (#13568) 2025-03-25 15:38:18 -07:00
Lauri Tulmin 553fbb30c2
Add body to http server concurrency test response (#13540) 2025-03-19 12:21:50 +02:00
Trask Stalnaker b26b074e75
Test Java 24-ea (#13376)
Co-authored-by: Lauri Tulmin <ltulmin@splunk.com>
2025-03-05 07:27:55 -08:00
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
Trask Stalnaker 1a506cb246
Document (and remove some) upper version test limits (#12945) 2024-12-27 08:54:10 -08:00
Lauri Tulmin 8071be9d9b
Fix wildfly port conflict (#12871) 2024-12-10 19:29:42 +02:00
Lauri Tulmin 28db801474
Convert jaxrs tests to java (#12816) 2024-12-01 08:42:46 -08:00
SylvainJuge 7c82dc4366
make servlet3 + spring webmvc + jaxrs 2.0 indy compatible (#12432) 2024-11-29 18:48:46 -08:00
Lauri Tulmin 059a4cac90
Convert jaxrs-1.0 tests to java (#12745) 2024-11-19 07:54:27 -08:00
Lauri Tulmin 1f8026e28c
Run tests with jdk 23 (#12329) 2024-09-26 12:16:41 +03:00
Gregor Zeitlinger 798bdd5569
config properties support for spring starter clients (#11605) 2024-07-02 16:49:39 +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 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
Lauri Tulmin 3dd0925081
Honor default enabled for instrumentation modules (#10211) 2024-01-11 07:49:51 -08:00
Lauri Tulmin a1898cc416
Disable jaxrs annotation instrumentation when controller telemetry is not enabled (#10203) 2024-01-10 10:39:15 -08:00
Helen fdeb032b33
Disable controller and view spans by default (#10042)
Co-authored-by: Trask Stalnaker <trask.stalnaker@gmail.com>
2024-01-04 09:16:46 -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 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
Lauri Tulmin 7d2259742a
Transform inline advice to delegating advice and test indy modules (#9508) 2023-09-22 11:15:39 +03:00
Mateusz Rzeszutek 3136916749
Add HTTP server tests for non standard methods (#9446) 2023-09-15 08:43:36 -07:00
Lauri Tulmin 913bebb979
Fix deprecated buildDir warning in gradle scripts (#9472) 2023-09-15 08:43:57 +02: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 d7a34f90ba
Refactor and rename `HttpClientResend` and `HttpRouteHolder` (#9280)
Co-authored-by: Trask Stalnaker <trask.stalnaker@gmail.com>
2023-08-26 00:37:25 +00:00
Mateusz Rzeszutek 6e573289ae
Replace NetAttributes with SemanticAttributes (#8992) 2023-07-21 11:27:54 +02:00
Trask Stalnaker 2bdddafdc4
Apply Prettier to markdown files (#8968) 2023-07-19 12:22:35 -07:00
Mateusz Rzeszutek 1f64215f38
Fix latestDepTest/muzzle after a broken undertow release (#8678) 2023-06-08 13:23:16 +02:00
Lauri Tulmin e6183dc03a
Cross test jaxrs instrumentations (#8541) 2023-05-22 08:33:07 -07:00
Lauri Tulmin 13fd41f271
Correct instrumentation names for jersey 3.0 (#8486) 2023-05-12 15:06:31 +00:00
Lauri Tulmin ee00c7e6ed
Rename misleading advice methods (#8485) 2023-05-12 15:02:19 +00:00
dependabot[bot] 3122897b2e
Bump errorProneVersion from 2.18.0 to 2.19.0 (#8459)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Lauri Tulmin <ltulmin@splunk.com>
2023-05-10 09:49:55 -07:00
Lauri Tulmin b800213196
Fix cxf latest dep tests (#8449) 2023-05-09 09:56:18 +02:00
Trask Stalnaker b09bddd6e4
Update gradle to 8.1.1 (#8433) 2023-05-07 09:28:30 +03:00
Lauri Tulmin fe56784f27
Enable http pipelining tests for jaxrs-2.0-resteasy (#8425) 2023-05-05 16:10:08 +03:00
Lauri Tulmin 413890d246
Test http pipelining (#8403) 2023-05-04 10:23:48 +03:00
Lauri Tulmin d0ee3da709
Jax-Ws annotation instrumentation should not apply to static methods (#8391) 2023-04-28 13:13:59 +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
Lauri Tulmin 0e15a47e93
Upgrade to gradle 8.0.2 (#7978) 2023-03-07 10:29:26 +02:00
Lauri Tulmin 64eb58633f
Fix jaxrs annotation instrumentation on openliberty (#7890)
Hopefully resolves
https://github.com/open-telemetry/opentelemetry-java-instrumentation/issues/7870
Jax-rs annotation instrumentation is only enabled when jax-rs api is
found in the class loader. This check does a `ClassLoader.getResource`
call for the resource name corresponding to class
`javax.ws.rs.container.AsyncResponse`. As far as I understand this
particular class is used only because it was added in jax-rs 2.0, any
other class added in jax-rs 2.0 could be used instead of it. On
openliberty we fail to find this class because it should be resolved
through bundle dynamic imports but we disable looking into dynamic
imports in
https://github.com/open-telemetry/opentelemetry-java-instrumentation/blob/main/instrumentation/internal/internal-eclipse-osgi-3.6/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/internal/osgi/EclipseOsgiInstrumentation.java
when we do the class presence check. Using a class in `javax.ws.rs.core`
package seems to work better as the import for that package is already
resolved by the time we make the `getResource` call.
2023-02-24 13:00:11 +02: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 adbd9664f4
Fix some instrumentation scope names (#7632) 2023-01-23 19:46:06 -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