Commit Graph

430 Commits

Author SHA1 Message Date
Lauri Tulmin b1ec52e21c
Update api diffs (#12045) 2024-08-18 15:23:16 -07:00
OpenTelemetry Bot 21f1497aa6
Update version to 2.8.0-SNAPSHOT (#12037)
Co-authored-by: Lauri Tulmin <ltulmin@splunk.com>
2024-08-16 13:36:16 +03:00
Lauri Tulmin 960b763d55
Reformat supported libraries doc (#11889) 2024-07-24 11:40:12 -07:00
Trask Stalnaker a3b66bda66
Update api diff after release (#11850) 2024-07-17 18:28:06 -07:00
OpenTelemetry Bot 9ecf7965aa
Update version to 2.7.0-SNAPSHOT (#11839)
Co-authored-by: Trask Stalnaker <trask.stalnaker@gmail.com>
2024-07-16 23:48:30 +00:00
Trask Stalnaker 2ea4e619de
Update change log for v2.6.0 release (#11816) 2024-07-16 21:44:01 +00:00
Trask Stalnaker 428aa281d5
Restructure to have a single spring-boot-autoconfigure artifact (#11826) 2024-07-16 13:57:52 -07:00
Trask Stalnaker 60757376a6
Rename spring-boot-autoconfigure artifacts (#11815) 2024-07-15 12:30:43 -07:00
Gregor Zeitlinger 77393359aa
make spring starter stable (#11763) 2024-07-12 14:20:44 -07:00
Gregor Zeitlinger e5af13931c
rename spring autoconfigure to autoconfigure-2 (#11800) 2024-07-12 12:07:53 -07:00
Liu Ziming 7f30056b57
support jettyclient 12 (#11519)
Co-authored-by: Lauri Tulmin <ltulmin@splunk.com>
Co-authored-by: Trask Stalnaker <trask.stalnaker@gmail.com>
2024-07-09 01:21:13 +00:00
Jay DeLuca 26591eab17
Support tracing the ClickHouse Java HTTP client (#11660) 2024-07-08 18:06:50 -07:00
Lucas Amoroso 8537d215da
add javalin instrumentation (#11587) 2024-07-01 16:41:04 +03:00
Jay DeLuca 866e8e8817
Update docs for bundled exporters (#11662) 2024-06-25 09:36:45 +03:00
Gregor Zeitlinger d5b772e7fa
fix link (#11656) 2024-06-22 15:32:56 +03:00
Trask Stalnaker a886cc9c0c
Bump version in api diff compare (#11615) 2024-06-17 13:08:16 -07:00
OpenTelemetry Bot 055365c947
Update version to 2.6.0-SNAPSHOT (#11596)
Co-authored-by: Trask Stalnaker <trask.stalnaker@gmail.com>
2024-06-17 09:02:58 -07:00
Gregor Zeitlinger 0259a9f5aa
add dev mode where warnings don't fail the test (#11273)
Co-authored-by: Trask Stalnaker <trask.stalnaker@gmail.com>
2024-06-12 11:02:07 -07:00
renovate[bot] b8b1bff708
fix(deps): update dependency me.champeau.gradle:japicmp-gradle-plugin to v0.4.3 (main) (#11528)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Lauri Tulmin <ltulmin@splunk.com>
2024-06-05 15:01:37 +03:00
Trask Stalnaker 3743605f2d
Clarify Netty instrumentation support (#11447) 2024-05-24 07:40:05 +03:00
Lauri Tulmin cbcc0fbf41
Fix broken link (#11445) 2024-05-23 12:48:08 -07:00
Lauri Tulmin 083f7b7ae3
Use Apache ShenYu instead of Shenyu (#11407) 2024-05-20 09:27:41 -07:00
Liu Ziming 9e48f24486
fetch route in apache shenyu (#11260)
Co-authored-by: Lauri Tulmin <ltulmin@splunk.com>
Co-authored-by: Trask Stalnaker <trask.stalnaker@gmail.com>
2024-05-17 14:47:39 -07:00
Lauri Tulmin 974b28e192
Move armeria instrumentations under common directory (#11385) 2024-05-17 15:07:57 +03:00
Lauri Tulmin 66e4c5ac39
Add instrumentation for armeria gRPC (#11351)
Co-authored-by: Steve Rao <raozihao.rzh@alibaba-inc.com>
2024-05-15 13:31:02 -07:00
Steve Rao 9727c6ea97
Add support for InfluxDB (#10850) 2024-05-07 20:08:52 -07:00
Zachary Sistrunk d4237fc01a
Updating tests to support using non-localhost Docker runtimes (#11106) 2024-04-24 15:18:06 -07:00
Lauri Tulmin 17f58ed20a
Run tests with jdk 22 (#11191) 2024-04-22 18:11:36 -07:00
Lauri Tulmin 17c8f0da74
elasticsearch-java 7.17.20 has native instrumentation (#11083) 2024-04-10 13:05:12 -07:00
John Bley b381b016bf
Reduce iterator allocations on hot paths (#10745) 2024-04-04 16:58:35 -07:00
Gregor Zeitlinger 3839342e3b
move spring resources to javaagent directory (#10813) 2024-03-14 08:27:19 -07:00
Lauri Tulmin c8f2cc5a9b
Add instrumentation for jetty 12 (#10575)
Co-authored-by: Jean Bisutti <jean.bisutti@gmail.com>
2024-03-12 15:59:27 -07:00
Steve Rao 86c3263868
Add support for XXL-JOB (#10421)
Co-authored-by: Lauri Tulmin <tulmin@gmail.com>
2024-03-12 15:54:54 -07:00
Sam Wright 1225eb8cad
Capture http.route for pekko-http (#10799)
Co-authored-by: Lauri Tulmin <tulmin@gmail.com>
2024-03-12 18:04:29 +02:00
Lauri Tulmin a3a572540e
Add instrumentation for graphql 20 that does not use deprecated methods (#10779) 2024-03-12 13:48:17 +02:00
Steve Rao 822abc760b
Polished contributing document (#10693) 2024-02-29 07:29:29 -08:00
Lauri Tulmin f31e4e3fbd
Fix a typo (#10700) 2024-02-28 14:46:46 +02:00
Lauri Tulmin 617d4edeb5
Update suppression keys for finagle (#10579) 2024-02-21 14:38:54 +02:00
Gregor Zeitlinger cd5c4ad92f
Exclude generated files (#10603) 2024-02-21 14:34:15 +02:00
Steven Swartz 807e0c2f9b
Fix documentation link to graphql semantic conventions (#10565) 2024-02-16 09:07:03 +02:00
Dan Markwat 205100e1dc
feat: instruments finagle's netty-based stack (#10141)
Co-authored-by: Lauri Tulmin <ltulmin@splunk.com>
2024-02-15 07:39:48 -08:00
Steve Rao f777c0eaf9
Add support for MyBatis framework (#10258)
Co-authored-by: Lauri Tulmin <tulmin@gmail.com>
2024-02-12 15:06:57 -08:00
Steve Rao 9fd28196fb
Polished contributing docs (#10299)
Co-authored-by: Trask Stalnaker <trask.stalnaker@gmail.com>
2024-01-31 10:38:56 -08:00
Elbio Caetano 27c85e208e
feat: instrumentation for apache httpclient 5 (#10100)
Co-authored-by: Trask Stalnaker <trask.stalnaker@gmail.com>
2024-01-31 07:27:25 +02:00
AndyChen da49a4c517
update instrumenter api on contributing doc (#10308)
Co-authored-by: Lauri Tulmin <tulmin@gmail.com>
2024-01-23 07:54:47 -08:00
Lauri Tulmin d36d7df184
Remove jaeger exporter and add api diff for 2.0.0 release (#10241) 2024-01-16 20:54:09 +02:00
Angel 478404539d
Add UserExcludedClassloadersConfigurer (#10134) 2024-01-11 07:50:46 -08:00
Lauri Tulmin fb4d0be411
Add quarkus resteasy reactive to supported libraries (#10201) 2024-01-10 07:28:53 -08:00
Gregor Zeitlinger a1d5729f26
script to select modules to work with (#10090) 2024-01-03 13:19:40 -08:00
Lauri Tulmin 5b95f0fb3a
Update supported frameworks doc (#10157) 2024-01-03 10:48:55 -08:00
dingjiefei 20ab0121fa
Add instrumentation for druid connection pool (#9935)
Co-authored-by: Trask Stalnaker <trask.stalnaker@gmail.com>
2023-12-21 17:09:29 +00:00
Lauri Tulmin 74c233d898
Update supported libraries (#10101) 2023-12-21 08:28:32 -08:00
Helen 1262d3833f
[Contributor Doc Improvement] Update running-tests.md (#10078)
Co-authored-by: Trask Stalnaker <trask.stalnaker@gmail.com>
2023-12-20 10:34:47 +02:00
Lauri Tulmin bc5398ce3f
Add instrumentation for vert.x redis client (#9838) 2023-12-08 10:00:10 +02: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
Trask Stalnaker a97f7b1786
Consistent version numbers (not including patch version) (#9983) 2023-12-01 11:27:11 +01:00
Phil Clay 431c544714
Mention loading/unloading modules in IntelliJ (#9810) 2023-11-06 09:31:24 -08:00
Liu Ziming 702ae30076
feat: get route info in spring-cloud-gateway (#9597) 2023-11-03 09:40:35 -07:00
Lester Haynes 51a03e0a7a
Update Muzzle docs to describe VirtualField dependency (#9789) 2023-11-01 08:23:59 -07:00
Phil Clay dc975b7bc5
Add instrumentation for jaxws metro 3.0+ (#9705) 2023-10-27 06:36:28 -07:00
Lauri Tulmin 90a6ed76cd
Update jvm metrics spec link (#9636) 2023-10-09 14:51:38 +00:00
Lauri Tulmin 795c053dc6
Fix spec links (#9603) 2023-10-04 17:54:35 +03:00
Tyler Benson 44e908e52c
Add `net.bytebuddy.dump` to debugging docs (#9396) 2023-09-06 11:54:40 +02:00
Lauri Tulmin 4baa694309
Add instrumentation for hibernate reactive (#9304) 2023-08-25 09:15:46 -07:00
Lauri Tulmin b3f36e936d
Update supported libraries for hibernate 6 (#9302) 2023-08-25 10:38:16 +03:00
KaiWen dd6a1a9c0e
fix table display (#9024) 2023-07-23 10:14:07 +03:00
Jean Bisutti 2535a758f7
Add smoke test for the OTel Spring starter (#8965)
Co-authored-by: Mateusz Rzeszutek <mrzeszutek@splunk.com>
Co-authored-by: Trask Stalnaker <trask.stalnaker@gmail.com>
2023-07-20 09:55:02 -07:00
Trask Stalnaker 2bdddafdc4
Apply Prettier to markdown files (#8968) 2023-07-19 12:22:35 -07:00
Lauri Tulmin a1f623f692
Update semconv links (#8894) 2023-07-07 08:29:55 +02:00
Alexander Wert 6461f044e1
Instrumentation for Elasticsearch 8+ (#8799) 2023-07-06 10:08:59 +00:00
Stephen Cprek a60a324189
Add easier discoverability and clarity to the MDC appender docs (#8638)
Co-authored-by: opentelemetrybot <107717825+opentelemetrybot@users.noreply.github.com>
2023-06-27 12:14:04 +02:00
Trask Stalnaker 39f4891b21
Rename runtime-metrics to runtime-telemetry (#8715)
Co-authored-by: Mateusz Rzeszutek <mrzeszutek@splunk.com>
2023-06-14 09:52:27 +00:00
Lauri Tulmin ebd31188af
Fix link to dropwizard views (#8694) 2023-06-11 12:38:04 -07:00
jason plumb f924bd3ec0
Looks like a new docs layout for dropwizard (#8654) 2023-06-06 09:04:29 +03:00
Lauri Tulmin 6dbb1589ce
Change grizzly supported version to 2.3 (#8570) 2023-05-25 07:53:38 -07:00
Robert Toyonaga 3d0971b318
Rename `runtime-metrics` to `runtime-telemetry-jmx` (#8165)
Co-authored-by: opentelemetrybot <107717825+opentelemetrybot@users.noreply.github.com>
2023-05-15 17:30:42 -07:00
Mateusz Rzeszutek 0da1b695cf
Updated japicmp reports (#8472) 2023-05-11 19:50:13 +00:00
Lauri Tulmin b960c56aad
Correct link to environment variable configuration spec (#8365) 2023-04-26 08:35:35 +02:00
sfriberg d1b7356ffe
AddingSpanAttributes annotation (#7787)
Co-authored-by: Mateusz Rzeszutek <mrzeszutek@splunk.com>
2023-04-24 08:58:28 -07:00
Lauri Tulmin 04097b3093
Add instrumentation for vertx-sql-client (#8311) 2023-04-20 08:11:24 -07:00
Felix Wong 51e3b77226
Smoke test with Liberty 23.0.0.3 (#8320) 2023-04-20 09:57:00 +03:00
Dmytro Iaroslavskyi 511f6b7361
ZIO 2.0 instrumentation (#7980)
Co-authored-by: Lauri Tulmin <ltulmin@splunk.com>
2023-04-06 09:07:46 -07:00
Lauri Tulmin 2f0819ae20
Improve compatibility with SecurityManager (#7983)
This pr gives classes defined in agent and extension class loaders all
permissions. Injected helper classes are also defined with all
permissions. Agent startup is altered so that we won't call methods that
require permission before we are able to get those permissions.
This pr does not attempt to address issues where agent code could allow
user code to circumvent security manager e.g.
https://github.com/open-telemetry/opentelemetry-java-instrumentation/blob/main/javaagent-bootstrap/src/main/java/io/opentelemetry/javaagent/bootstrap/InstrumentationHolder.java
gives access to `Instrumentation` that could be used to redefine classes
and remove security checks. Also this pr does not address failed
permission checks that could arise from user code calling agent code.
When user code, that does not have privileges, calls agent code, that
has the privileges, and agent code performs a sensitive operation then
permission check would fail because it is performed for all calling
classes, including the user classes. To fix this agent code should uses
`AccessController.doPrivileged` which basically means that, hey I have
done all the checks, run this call with my privileges and ignore the
privileges of my callers.
2023-04-05 15:41:37 +03:00
Trask Stalnaker 3e087e8206
Add note about Optional/Stream usage to style guide (#8193)
Based on #8190 and
https://github.com/open-telemetry/opentelemetry-java-instrumentation/pull/8131#discussion_r1151528583

---------

Co-authored-by: Mateusz Rzeszutek <mrzeszutek@splunk.com>
2023-04-03 20:15:59 +00: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
Jean Bisutti c5ef8ffd60
Add GraalVM native tests (#8163)
This PR allows:
* Executing the OTel Logback appender tests as GraalVM native
executables
* Executing the native tests once a day on Github

---------

Co-authored-by: Trask Stalnaker <trask.stalnaker@gmail.com>
2023-03-30 14:10:48 -07:00
Tyler Benson 1b4b47a576
Add `disableShadowRelocate` build setting (#8117)
This is helpful for debugging.

Fixes #4672

Add the following to enable locally `~/.gradle/gradle.properties`

```
disableShadowRelocate=true
```
2023-03-28 19:42:45 +03:00
Phil a6bc3b197d
Add R2dbc statement javaagent instrumentation (#7977)
This PR resolves #2515 .
It adds javaagent instrumentation for
[r2dbc-spi](https://github.com/r2dbc/r2dbc-spi) >= v1.0

As suggested by @mp911de in
https://github.com/open-telemetry/opentelemetry-java-instrumentation/issues/2515#issuecomment-1141723561
I used the [r2dbc-proxy](https://github.com/r2dbc/r2dbc-proxy)
`ProxyConnectionFactory` to intercept Database query executions and
create according spans.

Example span from example project using
[spring-boot-starter-data-r2dbc](https://github.com/spring-projects/spring-data-relational)
Application:

![r2dbc-example](https://user-images.githubusercontent.com/39240633/222902361-a3878ecd-a8d0-4d33-b0c0-e410d908e05e.png)

---------

Co-authored-by: Lauri Tulmin <ltulmin@splunk.com>
2023-03-23 12:52:53 +01:00
Lauri Tulmin 3bb312a2d6
Document that spring webflux library instrumentation has server metrics (#8068) 2023-03-22 13:10:55 +01:00
Lauri Tulmin 1948f70c40
Update api diffs (#8058) 2023-03-22 13:05:12 +01:00
Lauri Tulmin dedc4d312c
Improve pulsar instrumentation (#8007)
- use standard messaging span name
- replace `message.type` with experimental attribute
`messaging.pulsar.message.type`, `message.type` is from rpc semantic
conventions
- replace `net.sock.peer.addr` that was filled with broker url with
`net.peer.name` and `net.peer.port`
2023-03-13 17:22:11 +01:00
Simone Giusso 1a7e0f3235
Instrumenting cassandra executeReactive method (#6441)
It follows the
[issue](https://github.com/open-telemetry/opentelemetry-java-instrumentation/issues/6395#issue-1323561263)
I opened some days ago.

The `executeReactive` method use the same processor used by
`executeAsync` (see
[here](65d2c19c40/core/src/main/java/com/datastax/dse/driver/internal/core/cql/reactive/CqlRequestReactiveProcessor.java (L53)))
and wrap the callback in the `DefaultReactiveResultSet` publisher.

Here I'm simply overriding the `executeReactive` method doing the same
thing: call the already instrumented `executeAsync` method and wrapping
the callback using the `DefaultReactiveResultSet` publisher.

~~I did an upgrade of the `java-driver-core` library to have
`TracingCqlSession.java` extending the `ReactiveSession`. I have to
probably rename the `cassandra-4.0` module in `cassandra-4.14` but I'll
let you confirm this.~~ -> Cassandra-4.4 is enough.

---------

Co-authored-by: Trask Stalnaker <trask.stalnaker@gmail.com>
2023-03-08 07:55:00 -08:00
James Moessis 3f45f755a9
Spring Webflux Library Instrumentation (#7899)
Resolves
https://github.com/open-telemetry/opentelemetry-java-instrumentation/issues/7436

* Created new Module `spring-webflux-5.3` which contains only
server-side library instrumentation
* Minimum supported version is 5.3 because there are various problems in
older versions of reactor and webflux that prevent a few of the tests
from passing.
* Moved existing `spring-webflux-5.0` (webclient instrumentation) into a
common `spring-webflux` folder next to the 5.3 (server) instrumentation.
Moved the README to the parent folder so the docs are cohesive between
client/server instrumentation.
* Implemented `WebFilter` which instruments the server-side 
* Depends on the `reactor-3.1` instrumentation to pass the context
around. Registers the react hook when it creates the `WebFilter`
* Tests using the standard HTTP server test suite

---------

Co-authored-by: Trask Stalnaker <trask.stalnaker@gmail.com>
Co-authored-by: Mateusz Rzeszutek <mrzeszutek@splunk.com>
2023-03-08 08:43:46 +01:00
Mateusz Rzeszutek a217e77290
Add HTTP client spans&metrics to Ktor entry in the supported libs doc (#7997)
See #7982
2023-03-07 16:02:40 +02:00
Felix Wong ee781f5710
Update Liberty versions (#7857)
Open Liberty version 20.0.0.x are out of support. This PR removes
20.0.0.x and adds 22.0.0.x.
2023-03-02 18:53:25 +02:00
Phil fad7b24253
Add Jodd-Http instrumentation (#7868)
This PR resolves #7629 

This adds javaagent instrumentation for the
[jodd-http](https://http.jodd.org/) `HttpRequest`.
It creates `Http Client Spans` and `Http Client Metrics`, the lowest
supported version is `org.jodd:jodd-http:4.2.0` (most recent: `6.3.0`),
since this is the first version of the library supporting java 8, having
follow-redirect capability and `HttpRequest#overwriteHeader()` method.
The instrumented method's signature and return type `HttpRequest#send()`
has not been modified since, and therefore the instrumentation works for
all `jodd-http` versions above `4.2.0`.

Since this is my first contribution/instrumentation, I orientated myself
on the `apache-httpclient-5.0` instrumentation, but obviously I would be
glad to get some feedback on this

---------

Co-authored-by: Mateusz Rzeszutek <mrzeszutek@splunk.com>
2023-02-23 15:54:13 +00:00
Mateusz Rzeszutek 0e4e696ed4
Remove docs/semantic-conventions.md (#7836)
Resolves #7809
2023-02-16 13:17:08 -08:00
moznion 7e8d76a83b
Put `http.route` attribute onto `http.server.duration` on Play framework request processing (#7801)
Basically, `akka-http` instrumenter has the responsibility to instrument
the `http.server.duration` for the Play framework application, but the
current implementation has not marked the `http.route` attribute.
ref:
8e8161cb2e/instrumentation/akka/akka-http-10.0/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/akkahttp/server/AkkaHttpServerAttributesGetter.java (L59)

Actually, it's hard to record that attribute by only the akka-http layer
because that library's request object doesn't hold the route
information, e.g. placeholder.

So this patch delegates that job to the `play-mvc` instrumenter and when
that has been able to get the route info, the instrumenter puts
`http.route` attribute onto `http.server.duration`.

For example, when the routes configuration of the Play is like the
following:

```
GET  /foo/:bar  controllers.HomeController.doSomething(bar: String)
```

and when it tries to access that API, then OTEL instruments like so:

```prometheus
http_server_duration_count{otel_scope_name="io.opentelemetry.akka-http-10.0",otel_scope_version="1.23.0-alpha-SNAPSHOT",http_flavor="1.1",http_method="GET",http_route="/foo/$bar<[^/]+>",http_scheme="http",http_status_code="200",net_host_name="localhost",net_host_port="9000"} 1.0 1676078079798
http_server_duration_sum{otel_scope_name="io.opentelemetry.akka-http-10.0",otel_scope_version="1.23.0-alpha-SNAPSHOT",http_flavor="1.1",http_method="GET",http_route="/foo/$bar<[^/]+>",http_scheme="http",http_status_code="200",net_host_name="localhost",net_host_port="9000"} 12183.558843 1676078079798
http_server_duration_bucket{otel_scope_name="io.opentelemetry.akka-http-10.0",otel_scope_version="1.23.0-alpha-SNAPSHOT",http_flavor="1.1",http_method="GET",http_route="/foo/$bar<[^/]+>",http_scheme="http",http_status_code="200",net_host_name="localhost",net_host_port="9000",le="0.0"} 0.0 1676078079798
...
http_server_duration_bucket{otel_scope_name="io.opentelemetry.akka-http-10.0",otel_scope_version="1.23.0-alpha-SNAPSHOT",http_flavor="1.1",http_method="GET",http_route="/foo/$bar<[^/]+>",http_scheme="http",http_status_code="200",net_host_name="localhost",net_host_port="9000",le="+Inf"} 1.0 1676078079798
```

Rel: #1415

---------

Signed-off-by: moznion <moznion@mail.moznion.net>
2023-02-14 14:05:59 +02:00
OpenTelemetry Bot f074b93110
Update the OpenTelemetry SDK version to 1.23.0 (#7800)
Update the OpenTelemetry SDK version to `1.23.0`.

---------

Co-authored-by: Trask Stalnaker <trask.stalnaker@gmail.com>
2023-02-13 20:22:09 +00:00