Commit Graph

2794 Commits

Author SHA1 Message Date
Mateusz Rzeszutek 1263e47ec2
Fix JMS tests by disabling ActiveMQ Artemis persistence (2nd try) (#8667) 2023-06-07 16:58:44 +02:00
Mateusz Rzeszutek 7b0918ef18
Fix JMS tests by disabling ActiveMQ Artemis persistence (#8666) 2023-06-07 14:48:45 +02:00
jason plumb a0cfb06905
RuntimeMetrics - move creation logic out of constructor (#8653) 2023-06-06 11:46:47 +02:00
Lauri Tulmin c8bcdeeb40
Fix flaky runtime metrics close test (#8648) 2023-06-06 09:06:02 +03:00
Lauri Tulmin 5a0bddd177
Unregister jmx gc metrics (#8650) 2023-06-05 18:49:45 +03:00
Lauri Tulmin e22f4c5615
Add extra Test tasks to check instead of test (#8651) 2023-06-05 18:49:27 +03:00
Mateusz Rzeszutek 8ee63d4441
Implement new stable URL semantic conventions (#8491) 2023-06-05 15:22:22 +00:00
Lauri Tulmin 0768150fb4
Fix redisson latest dep test (#8652) 2023-06-05 16:32:41 +02:00
Mateusz Rzeszutek c74fa61b5d
Add wait strategy to the artemis container in spring jms 6 tests (#8646) 2023-06-05 11:07:01 +02:00
Lauri Tulmin e64f9dc824
Use @SuppressWarnings(deprecation) instead of @Deprecated (#8645) 2023-06-05 09:34:53 +02:00
Lauri Tulmin b5b51934df
Fix flaky reactor netty connect span tests (#8636) 2023-06-02 23:38:17 +03:00
Lauri Tulmin 4def59ef78
Fix flaky tomcat access log test (#8634) 2023-06-02 23:37:59 +03:00
Lauri Tulmin 81f6a3a0c2
Faster type matching (#8525) 2023-06-02 18:35:31 +03:00
Lauri Tulmin fa5d1744ed
Enable http pipelining test on spring webflux (#8501) 2023-06-02 18:35:00 +03:00
Lauri Tulmin 0ea2d7b8d8
Fix flaky spring rabbit test (#8631) 2023-06-01 17:23:21 +02:00
Lauri Tulmin c4d4bf821a
End netty client span when channel is closed (#8605) 2023-06-01 12:30:00 +03:00
dependabot[bot] c920c8663b
Bump com.fasterxml.jackson:jackson-bom from 2.15.1 to 2.15.2 (#8606)
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-06-01 12:29:38 +03:00
Mateusz Rzeszutek 2c06c00c58
Support otel.sdk.disabled in the spring boot starter (#8602) 2023-06-01 10:48:06 +02:00
siyuniu-ms 39c96bc5cb
JavaScript Snippet Injection Support Servlet 5 (#8569)
Co-authored-by: Trask Stalnaker <trask.stalnaker@gmail.com>
2023-05-31 14:47:53 -07:00
Mateusz Rzeszutek eeb6ffd6e3
Deprecate InetSocketAddressNetClientAttributesGetter and move its met… (#8591) 2023-05-31 08:30:56 +02:00
Lauri Tulmin eacb6e72b0
Disable flaky async http client read timeout tests (#8592) 2023-05-29 16:34:06 +02:00
Mateusz Rzeszutek c4ee60dad4
Deprecate InetSocketAddressNetServerAttributesGetter and move its met… (#8341) 2023-05-29 10:04:32 +02:00
Mateusz Rzeszutek 04b7f2e063
Fix R2DBC readme for Spring Boot users (#8580) 2023-05-26 15:41:32 +02:00
Mateusz Rzeszutek 262d77164f
Filter out scalar Mono/Flux instances (#8571) 2023-05-26 12:13:11 +03:00
Lauri Tulmin ba4eea2d82
Don't open jfr recording stream when jfr metrics are not enabled (#8574) 2023-05-26 11:12:40 +02:00
Lauri Tulmin b8f733c550
Fix elasticsearch muzzle failure (#8573) 2023-05-25 15:40:13 +00:00
Lauri Tulmin 6dbb1589ce
Change grizzly supported version to 2.3 (#8570) 2023-05-25 07:53:38 -07:00
dependabot[bot] c60d0a2673
Bump com.diffplug.spotless:spotless-plugin-gradle from 6.18.0 to 6.19.0 (#8561)
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-24 12:23:07 -07:00
Mateusz Rzeszutek b6c612ae09
Implement support for reactor-kafka 1.3+ (#8529) 2023-05-24 07:43:13 -07:00
Lauri Tulmin d8da949f09
Remove usages of classes shaded in testcontainers from tests (#8551)
Co-authored-by: Trask Stalnaker <trask.stalnaker@gmail.com>
2023-05-23 18:38:52 +00:00
Shelby Huang 2a68a47819
Convert elasticsearch-rest-5.0 Test from groovy to java. (#8542) 2023-05-23 11:25:55 -07:00
Lauri Tulmin bc870bac73
Remove extra space from kubernetes client span name (#8540) 2023-05-22 08:33:49 -07:00
Lauri Tulmin e6183dc03a
Cross test jaxrs instrumentations (#8541) 2023-05-22 08:33:07 -07:00
Mateusz Rzeszutek c10108bbe0
Enable HTTP client read timeout tests by default (#8530) 2023-05-19 10:24:49 -07:00
jdoherty 6c3436557f
read tracing info from system properties (#8368) 2023-05-19 08:45:59 +03:00
Lauri Tulmin 69d0001f2f
Fix failure when kafka metrics reporter is set to an empty string (#8523) 2023-05-18 14:28:41 +02:00
Shelby Huang a9459f4e70
Convert elasticsearch-rest-6.4 Test from groovy tp java. (#8524) 2023-05-18 14:27:31 +02:00
Kevin Loveland 233ca9111d
feat: Added Spring's configuration annotation processor to produce th… (#8516) 2023-05-18 14:06:50 +03:00
Mateusz Rzeszutek cdb08c9dca
Instrument reactor-kafka (#8439) 2023-05-17 17:13:33 -07:00
Lauri Tulmin f00393260c
Use jakarta.servlet.error.exception request attribute on jetty11 (#8503) 2023-05-17 17:03:22 -07:00
Jean Bisutti 9c58284923
Update the JDBC driver documentation (#8512) 2023-05-17 10:19:10 -07:00
Mateusz Rzeszutek d98c0b4192
Simplify/refactor `AbstractHttpClientTest` and replace protected method… (#8510) 2023-05-17 19:38:04 +03:00
Mateusz Rzeszutek 8ba8082f44
Refactor resend/redirect tests in AbstractHttpClientTest so that they… (#8500) 2023-05-16 12:13:40 -07:00
Lauri Tulmin d7d629617a
Fix using logback mdc instrumentation along with SocketAppender (#8498) 2023-05-16 12:03:37 +02:00
Lauri Tulmin f916243945
Fix runtime-metrics-java17 tests on openj9 (#8499) 2023-05-16 12:02:17 +02:00
Lauri Tulmin 30fc14e247
Fix JFR lock wait test (#8494) 2023-05-16 09:42:07 +03:00
Mateusz Rzeszutek c21ec3f8e8
Implement HTTP resend spec for OkHttp 3 (#7652) 2023-05-15 17:53:22 -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
Christian Neumüller f98a97f671
aws-sdk-2.2: Support non-X-Ray propagation for SQS (#8405)
Co-authored-by: Mateusz Rzeszutek <mrzeszutek@splunk.com>
2023-05-15 17:28:15 -07:00
orangain 9596fc72e7
Make spanKindExtractor configurable in Ktor instrumentations (#8255) 2023-05-15 07:09:37 -07:00
Lauri Tulmin 7e38a35ea9
Add instrumentation for quarkus-resteasy-reactive (#8487) 2023-05-15 07:00:16 -07:00
Mateusz Rzeszutek e8a22ed00b
Specify ...jvm.gc.duration buckets using advice API (#8436) 2023-05-15 06:55:49 -07:00
Mateusz Rzeszutek 0b774af1ee
Use seconds by default in the Micrometer bridge (#8490)
Co-authored-by: Lauri Tulmin <tulmin@gmail.com>
2023-05-15 06:54:37 -07:00
Mateusz Rzeszutek 3dd8ad7669
Disable by default gauge-based histograms in the Micrometer bridge (#8360) 2023-05-15 09:56:35 +00:00
Lauri Tulmin c660a80c32
Update smoke tests servers and add jdk21 (#8452) 2023-05-12 10:42:35 -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
Lauri Tulmin b370ed52e9
Pin localstack docker image version and fix vetx sql client latest dep test (#8483) 2023-05-12 06:40:25 -07:00
Mateusz Rzeszutek 48f85fb5f2
Replace target with path and query in HttpServerAttributesGetter (#8382) 2023-05-11 12:47:00 -07:00
Mateusz Rzeszutek 13fa025de8
Use histogram advice in the Micrometer bridge (#8334) 2023-05-11 12:45:53 -07:00
Mateusz Rzeszutek d4c5164809
Add classLoaderMatcher() for Spring WebMVC instrumentations (#8463) 2023-05-11 10:10:51 +02: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 24b65ab1a7
Clear context before flux retry (#8456) 2023-05-10 07:59:59 -07:00
Lauri Tulmin b71625276b
Wait for postgres to start in r2dbc tests (#8450) 2023-05-09 09:00:07 -07:00
Mateusz Rzeszutek 7fb487a757
Rename the "executor" instrumentation to "executors" to match gradle … (#8451) 2023-05-09 08:56:01 -07:00
Lauri Tulmin 8e016a7bf4
Fix flaky http pipelining test on akka http (#8437) 2023-05-09 11:18:34 +03: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
OpenTelemetry Bot 2b7b27b990
Update the OpenTelemetry SDK version to 1.26.0 (#8427)
Co-authored-by: Trask Stalnaker <trask.stalnaker@gmail.com>
Co-authored-by: Lauri Tulmin <ltulmin@splunk.com>
2023-05-06 22:55:01 +00:00
Lauri Tulmin 897031c223
Fix aws sdk latest dep tests again (#8431) 2023-05-06 15:14:51 -07:00
kc ab8285eb2c
convert rxjava2 unit tests to java (#8397) 2023-05-05 08:27:23 -07:00
Nitesh S f7c7004250
convert hibernate 6 tests from groovy to java (#8304) 2023-05-05 16:10:50 +02:00
Dan Markwat aef70d2f63
Adds dedicated tests for OC shim (#7488) 2023-05-05 07:06:47 -07:00
Lauri Tulmin fe56784f27
Enable http pipelining tests for jaxrs-2.0-resteasy (#8425) 2023-05-05 16:10:08 +03:00
Lauri Tulmin 32426c8c30
Enable http pipelining tests for restlet2 (#8424) 2023-05-05 14:44:46 +03:00
Lauri Tulmin 0ecd1468f3
Fix http pipelining test on Netty 4.1 (#8412) 2023-05-05 13:45:46 +03:00
Lauri Tulmin 83a4054fcc
Fix aws sdk latest dep tests (#8423) 2023-05-05 12:22:08 +02:00
Lauri Tulmin 60aa4215f6
Enable http pipelining test on Grizzly (#8411) 2023-05-05 12:44:55 +03:00
Lauri Tulmin 413890d246
Test http pipelining (#8403) 2023-05-04 10:23:48 +03:00
Lauri Tulmin 4bec515b15
Fix undertow instrumentation with http pipelining (#8400) 2023-05-03 12:16:17 +03:00
Lauri Tulmin 0898653bc3
Remove latest dep test limit from elasticsearch-transport-6.0 (#8401) 2023-05-02 22:36:50 +03:00
Lauri Tulmin dbf71497d2
Fix snippet injection test (#8390) 2023-04-28 14:55:08 +02:00
Lauri Tulmin 90e21aaf9d
Move WithSpan class presence check to instrumentation module (#8389) 2023-04-28 15:47:50 +03:00
Lauri Tulmin d0ee3da709
Jax-Ws annotation instrumentation should not apply to static methods (#8391) 2023-04-28 13:13:59 +02:00
Eric Shen b4191fa82f
[fix]: fix the missing quotation mark (#8380) 2023-04-27 12:36:17 +00:00
Lauri Tulmin 8d2cc91a2c
Fix pulsar directory name (#8378) 2023-04-27 07:25:46 +00:00
siyuniu-ms c7bd3e4d6a
JavaScript Snippet Injection (#7650)
Co-authored-by: Trask Stalnaker <trask.stalnaker@gmail.com>
2023-04-26 16:09:12 -07:00
Lauri Tulmin 0f87eaf3d6
Fix flaky vertx sql test (#8367) 2023-04-26 10:47:27 +02:00
Lauri Tulmin 354ba91ea8
Use namedOneOf instead of named(..).or(named(..)) (#8366) 2023-04-26 07:26:52 +00:00
shuwpan 52e349c718
add test case to validate existing rules are correct (#8300) 2023-04-26 09:43:20 +03:00
Helen 6295c67def
Fix a todo (#8343) 2023-04-24 20:49:30 -07:00
siyuniu-ms e87584fac6
change endpoint from enum to regular class (#8325)
Co-authored-by: Trask Stalnaker <trask.stalnaker@gmail.com>
2023-04-24 16:31:32 +00:00
sfriberg d1b7356ffe
AddingSpanAttributes annotation (#7787)
Co-authored-by: Mateusz Rzeszutek <mrzeszutek@splunk.com>
2023-04-24 08:58:28 -07:00
Lauri Tulmin 0f258c669a
Use hasAttributesSatisfyingExactly instead of hasAttributesSatisfying (#8336) 2023-04-24 11:57:45 +02:00
Lauri Tulmin 2280b3fd80
Correct logback mdc appender class name (#8335) 2023-04-21 15:04:06 +02:00
kc fd9ef741a0
Migrate rxjava3 unit tests to Java (#7924) 2023-04-21 12:41:20 +02:00
Helen ffb63d68eb
Fix nested http.route (#8282)
Co-authored-by: Trask Stalnaker <trask.stalnaker@gmail.com>
2023-04-21 09:27:28 +02:00
Mateusz Rzeszutek e3944a53a5
Make net.transport an optional attribute (#8279) 2023-04-20 08:14:03 -07:00
Lauri Tulmin 04097b3093
Add instrumentation for vertx-sql-client (#8311) 2023-04-20 08:11:24 -07:00
Tyler Benson afc327e14d
Populate `process.command_args` for Java 9+ and improve `process.command_line` for Java 8 (#8130) 2023-04-13 09:23:14 -07:00
Lauri Tulmin 9b9cf9692e
Fix javaagent armeria server instrumentation (#8281) 2023-04-13 07:00:20 -07:00
Mateusz Rzeszutek 1990b06a82
Implement HttpServerResponseCustomizer support for Restlet (#8272) 2023-04-12 08:26:32 -07:00
Mateusz Rzeszutek 17702d6e98
Application logger bridge: Spring Boot support (#8228) 2023-04-12 08:25:28 -07:00
Lauri Tulmin 300267fe11
Implement HttpServerResponseCustomizer support for Armeria (#8274) 2023-04-12 14:44:48 +03:00
Ryan Dens e17feb4ea6
Remove Scala conventions from project that does not compile Scala (#8275) 2023-04-12 11:44:44 +02:00
Lauri Tulmin cec7904305
Enable response customizer tests for ratpack (#8277) 2023-04-12 11:38:38 +02:00
Lauri Tulmin 271c72b94a
Implement HttpServerResponseCustomizer support for Grizzly (#8263) 2023-04-12 10:06:01 +03:00
Trask Stalnaker 66f4c80d35
Update instrumentation suppression keys that do not align with their module name (#7811) 2023-04-11 10:54:42 -07:00
Lauri Tulmin 56eae8109b
Implement HttpServerResponseCustomizer support for Akka-http (#8273) 2023-04-11 10:54:03 -07:00
Lauri Tulmin 2dfe64a08b
Set timeout for r2dbc test (#8270) 2023-04-11 12:15:42 +02:00
Lauri Tulmin e03aaed32c
Disable connection recovery in rabbitmq test (#8261) 2023-04-10 19:18:21 -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
Lauri Tulmin 4b257fe4ea
Implement HttpServerResponseCustomizer support for Liberty (#8264) 2023-04-10 18:09:08 -07:00
Lauri Tulmin bd7d1415ef
Implement HttpServerResponseCustomizer support for Undertow (#8265) 2023-04-10 18:08:53 -07:00
Lauri Tulmin 53fc6b6d9f
Update armeria-junit5 (#8259) 2023-04-09 14:12:41 -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
Lauri Tulmin 3de8000c30
Limit ucp latest dep test version (#8258) 2023-04-09 08:43:24 -07:00
dependabot[bot] 7c628c920f
Bump com.diffplug.spotless:spotless-plugin-gradle from 6.17.0 to 6.18.0 (#8234)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: opentelemetrybot <107717825+opentelemetrybot@users.noreply.github.com>
2023-04-07 15:51:49 +02:00
Mateusz Rzeszutek 69ee671e99
Fix armeria latestDepTest (#8247) 2023-04-07 13:50:10 +00:00
Lauri Tulmin 1b6d25e519
Disable automatic connection recovery in reactor rabbit test (#8243) 2023-04-07 06:41:40 -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 1cd634b341
Replace deprecated method (#8230) 2023-04-06 14:43:36 -07:00
Lauri Tulmin c9c5aebb0b
Attempt to work around flaky reactor rabbitmq test (#8232) 2023-04-06 13:08:19 -07: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 7c9cf7ab1b
Spring scheduling: run error handler with the same context as task (#8220) 2023-04-06 08:39:33 -07:00
Andrei Chugunov 506ca93699
webflux 5.0 groovy to java tests part 2 (#7776)
@trask @mateuszrzeszutek hello, what do you think about
SingleThreadedSpringWebfluxTest, the test contains dependencies on new
reactor netty classes in testLatestDeps case. I tried use reflection for
rewriting the test to java but it was not trivial and I not reach the
result

---------

Co-authored-by: Lauri Tulmin <ltulmin@splunk.com>
2023-04-05 19:33:23 -07:00
Lauri Tulmin 8aeffa5e80
Rename package.json to avoid dependabot alert (#8219)
This `package.json` contains outdated dependences, it is only used in a
test.

---------

Co-authored-by: Trask Stalnaker <trask.stalnaker@gmail.com>
2023-04-05 11:00:24 -07:00
Lauri Tulmin 856d521f0a
Update testcontainers and selenium (#8218) 2023-04-05 08:24:53 -07:00
Lauri Tulmin d87f40c9c7
Instrument akka-http bindAndHandle (#8174)
Resolves
https://github.com/open-telemetry/opentelemetry-java-instrumentation/issues/8143
Resolves
https://github.com/open-telemetry/opentelemetry-java-instrumentation/issues/6081
Resolves
https://github.com/open-telemetry/opentelemetry-java-instrumentation/issues/5137
Using the same approach as in
https://github.com/open-telemetry/opentelemetry-java-instrumentation/pull/6243
and as used by DataDog. Unlike in #6243 this pr does not attempt to
prevent leaking scopes into actors but rather instruments the actor to
reset context to get rid of the leaked scopes (DataDog does the same).
2023-04-05 17:11:05 +03:00
Lauri Tulmin 8fba02e391
Skip spotless and other checks in CI test step (#8142)
Currently we run spotless and other checks for each of the parallel test
steps which seems wasteful. Here is an attempt to run only the tests in
given partition without any extra checks in the `test` step and run all
the checks in the `build` step.
2023-04-04 10:43:12 -07:00
Lauri Tulmin 34bca4ba10
Pulsar batch receive instrumentation (#8173) 2023-04-04 10:19:08 -07:00
Lauri Tulmin 4d21d45f3d
Verify that server span ends after child spans in java tests (#8208)
Currently server span end time verification is only implemented for
groovy tests.
2023-04-04 09:54:10 -07:00
jason plumb 32b6bd2a71
Ensure that parsed container ID is 64 chars. (#8206)
Resolves #7437.

A few caveats about this. The TL;DR on #7437 is that a non-containerized
process was reporting a `container.id` attribute. The submitter narrowed
it down and I was able to confirm with the test case in this PR.

I hunted for other means for code to determine if it's containerized
with the idea to not even do the parsing if not containerized, but I
couldn't find anything useful. In fact, most approaches of detecting
containerization at all do involve parsing cgroups. Wacky.

So I attempted to verify that container IDs should always be 64
characters. I found:
* podman - docs
[here](https://docs.podman.io/en/latest/markdown/podman-container-inspect.1.html)
"Container ID (full 64-char hash)"
* docker - UID generator source
[here](634a848b8e/pkg/stringid/stringid.go (L36))
shows 32 bytes (and even guards against fully numeric!)
* lxc [man page
](https://linuxcontainers.org/lxc/manpages/man1/lxc-info.1.html)says
"container identifier format is an alphanumeric string". If this maps
into cgroups (no idea!), it would have already been broken in some cases
because we enforce hex.

I'm a little concerned about this approach because the [otel
spec](94c9c75c4f/specification/resource/semantic_conventions/container.md)
suggests that "The UUID might be abbreviated.", but it's
unclear/non-specific about the circumstances that might cause this.

Open to hearing about why the approach presented here is a bad idea. 🙃
2023-04-04 09:37:23 -07:00
Mateusz Rzeszutek 04f2e3e9e5
Bridge agent logs into application's slf4j logger (#7339)
Related discussion #7257
Resolves #3413
Resolves #5059
Resolves #6258
Resolves #7179

Adds a logging implementation that'll collect agent logs in memory until
slf4j is detected in the instrumented application; and when that happens
will dump all the logs into the application slf4j and log directly to
the application logger from that time on.

It's still in a POC state, unfortunately: while it works fine with an
app that uses & initializes slf4j directly, Spring Boot applications
actually reconfigure the logging implementation (e.g. logback) a while
after slf4j is loaded; which causes all the startup agent logs (debug
included) to be dumped with the default logback pattern.

Future work:
* ~~Make sure all logs produces by the agent are sent to loggers named
`io.opentelemetry...`
(https://github.com/open-telemetry/opentelemetry-java-instrumentation/pull/7446)~~
DONE
* Make this work on Spring Boot
* Documentation
* Smoke test?
2023-04-04 17:29:43 +02:00
Lauri Tulmin 402635bb64
Remove aws-sdk-2.2 latest dep restriction (#8207) 2023-04-04 10:03:19 +03:00
Lauri Tulmin 00dfd99519
Alternative fix for flaky jfr telemetry test (#8203)
Reverts
https://github.com/open-telemetry/opentelemetry-java-instrumentation/pull/8183
Perhaps the problem is that the gc happens before reading jfr events is
started.
2023-04-03 13:09:37 -07: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
Nitesh S f7d74f5daa
convert gwt tests from groovy to java (#8201)
Related to #7195
2023-04-03 11:30:33 -07:00
Lauri Tulmin 1393604118
Add option to capture logback key value pairs (#8074)
Resolves
https://github.com/open-telemetry/opentelemetry-java-instrumentation/issues/8059
2023-04-03 11:30:04 -07:00
Trask Stalnaker b01996e12f
Rename apache-pulsar to pulsar and apache-camel to camel (#8195)
Closes #8004
2023-04-03 11:26:23 -07:00
Nitesh S 8704510619
convert spark tests from groovy to java (#8200)
Related to #7195
2023-04-03 13:38:02 +02:00
pellmont 5db149e1fa
fix order of cxf handlers to enable symmetric tracing around jaxws handler chain (#8160)
the current implementation of Start and End around the invocation of a
Jax WS is asymmetric around the JAX-WS Handler Chain.

Current behavior:
(execution of incoming MessageHandlers) -> (TracingStartInInterceptor)
-> (WebService Invocation) -> (execution of outgoing MessageHandlers) ->
(TracingEndInInterceptor)

if I understood the code of this cxf instrumentation correctly, the
intent was to build the span close around the WebService Invocation
(without Handler Chains).

So the desired behavior would look like this:
(execution of incoming MessageHandlers) -> (TracingStartInInterceptor)
-> (WebService Invocation) -> (TracingEndInInterceptor) -> (execution of
outgoing MessageHandlers)

Unfortunately CXF is calling the Outgoing Chain inside the POST_INVOKE
Phase of Cxf (so the outgoing chain is technically a sub-chain in the
incoming chain... which is documented but quite surprising...).

So the solution in the fix at least guarantees the the outgoing chain is
invoked AFTER end of tracing. For any extra Interceptors in the
POST_INVOKE Phase there is still no guarantee of ordering, but I think
this is not a opentelemetry issue but a design-flaw of CXF...

---------

Co-authored-by: Trask Stalnaker <trask.stalnaker@gmail.com>
Co-authored-by: Lauri Tulmin <ltulmin@splunk.com>
2023-04-03 13:06:51 +03:00
Lauri Tulmin 8c7a8e1dfb
Fix flaky jfr metrics test (#8183)
https://ge.opentelemetry.io/s/svewzdm7cppaa/tests/:instrumentation:runtime-telemetry-jfr:library:testPS/io.opentelemetry.instrumentation.runtimetelemetryjfr.PsGcMemoryMetricTest/shouldHaveGcDurationMetrics()?top-execution=1
2023-04-03 11:48:46 +02:00
Trask Stalnaker 70cd8464e2
Fix possible NPE (#8199)
this is a follow-up to #7043

I tried to add a test when that PR was opened:

*
d2c6399a6e

but it doesn't really verify anything, since the NPE is throw/caught and
same behavior occurs
2023-04-03 09:24:14 +02:00
Mateusz Rzeszutek 46e5219f19
Remove some Optional usages (#8190)
I applied [this
comment](https://github.com/open-telemetry/opentelemetry-java-instrumentation/pull/8131#discussion_r1151076724)
to the whole codebase and removed some `Optional`s that were used in the
hot path
2023-04-03 09:13:59 +02:00
adamleantech d6271cccc7
Spring boot service name (#8006)
resolves #7998

---------

Co-authored-by: Mateusz Rzeszutek <mrzeszutek@splunk.com>
Co-authored-by: Lauri Tulmin <ltulmin@splunk.com>
2023-04-01 18:58:43 -07:00
Lauri Tulmin a9905a22ca
Fix hibernate 6 latest dep test (#8189) 2023-03-31 15:39:02 +03:00
Lauri Tulmin 5a14788fc1
Use .service instead of .getService() to get testcontainersBuildService (#8188) 2023-03-31 08:32:24 +00:00
Lauri Tulmin 9e0d177d88
Add testcontainersBuildService to r2dbc tests (#8184) 2023-03-31 10:31:48 +02:00
Lauri Tulmin d007ccce82
Rename r2dbc library instrumentation package (#8185)
Library instrumentation shouldn't be in `javaagent` package
2023-03-31 10:31:25 +02:00