Commit Graph

2327 Commits

Author SHA1 Message Date
Trask Stalnaker 0035f4b480
Update annotation instrumentation property name (#7196)
Missed this when copying over the instrumentation for the old
annotations to the instrumentation for the new annotations.
2022-11-16 09:33:55 +01:00
Peter Findeisen 4db65b6d1f
JMX Metric Insight (#6573)
Solving
https://github.com/open-telemetry/opentelemetry-java-instrumentation/issues/6131
(JMX Support).

Co-authored-by: Trask Stalnaker <trask.stalnaker@gmail.com>
2022-11-15 19:52:12 -08:00
jack-berg 97f036c3e5
Stop relocating :instrumentation:resources:library (#7136)
Per the discussion in the today's SIG and this
[comment](https://github.com/open-telemetry/opentelemetry-java/issues/4919#issuecomment-1305774636).

Co-authored-by: Trask Stalnaker <trask.stalnaker@gmail.com>
2022-11-15 22:37:17 +00:00
jack-berg e39e5a68ed
Replace runtime.jvm.gc.time/runtime.jvm.gc.count metrics with process.runtime.jvm.gc.duration histogram (#6964)
Replaces #6362.

I've reduced the attributes to only record the gc name and the action
that was taken (i.e. I've removed the gc cause). If needed we can add
the cause later, but for now this should be sufficient to determine
total time spent in GC, and categorize time spent as stop the world or
parallel.
2022-11-15 14:01:36 -08:00
Lauri Tulmin 0cb8c75df7
Fix tests for mongodb 4.8 (#7183)
Resolves
https://github.com/open-telemetry/opentelemetry-java-instrumentation/issues/7170
2022-11-15 13:21:07 -08:00
jason plumb b09fb67e6b
Support cgroup v2 (#7167)
This resolves #6694.

We've been tracking the update to cgroup version support and want to get
ahead of the widespread usage. The surface of the existing
`ContainerResource` has not changed, but its internals have been
factored out to two "extractor" utilities -- one that understands cgroup
v1 and another for v2. v1 is attempted and, if successful, the result is
used. If v1 fails, then the `ContainerResource` will fall back to v2.

As mentioned in #6694, the approach taken in this PR is borrowed from
[this SO
post](https://stackoverflow.com/questions/68816329/how-to-get-docker-container-id-from-within-the-container-with-cgroup-v2)
combined with local experimentation on docker desktop on a Mac, which
already uses cgroup2 v2.
2022-11-15 12:12:11 -08:00
Lauri Tulmin 33b0b580f0
Fix latest deps tests for tomcat 10.1.2+ (#7184) 2022-11-15 11:09:47 -08:00
Aaron Ai b3cd45685d
Implement consumer part of rocketmq new client instrumentation (#7019)
Fixes #6764 , This PR is about the consumer part.

Co-authored-by: Trask Stalnaker <trask.stalnaker@gmail.com>
2022-11-15 13:21:14 +01:00
Trask Stalnaker 87c7147a25
Remove wildcard + dependency (#7172)
Should help with maven central sporadic failure:

```
Could not determine the dependencies of task ':instrumentation:hibernate:hibernate-3.3:javaagent:test'.
> Could not resolve all task dependencies for configuration ':instrumentation:hibernate:hibernate-3.3:javaagent:testRuntimeClasspath'.
   > Could not resolve javassist:javassist:+.
```
2022-11-15 08:57:15 +01:00
Arik Sher deebf6d06c
Enhancement/add additionalServerExtractors (#7155)
fixes issue #7153

Co-authored-by: Trask Stalnaker <trask.stalnaker@gmail.com>
2022-11-15 08:52:43 +01:00
Trask Stalnaker 4e36285b6c
Temporary fix for testLatestDeps failure (#7169)
Tracking issues to fix for real: #7170, #7171
2022-11-14 18:20:46 -08:00
Trask Stalnaker a9e7eb1264
Fix CI (#7138)
Resolves #7139
2022-11-11 13:42:19 -08:00
Lauri Tulmin 2107109d0d
Avoid NPE when DirectWithAttributesChannel class is not available (#7133)
Resolves
https://github.com/open-telemetry/opentelemetry-java-instrumentation/issues/7123
2022-11-11 10:46:34 -08:00
Trask Stalnaker 597b2a5321
More spotless (#7126) 2022-11-11 05:01:21 +00:00
Trask Stalnaker 5345c87680
End groovy files with newline (#7127) 2022-11-10 12:21:55 +01:00
sharp-pixel 31f4d12d31
Add support for OpenSearch 1.x and 2.x auto-instrumentation (#6998)
This PR adds support for OpenSearch 1.x and 2.x Java clients
auto-instrumentation.

This is made possible by OpenTelemetry specification v1.14.0 and
OpenTelemetry Java SDK v1.19.0.

Testing is being done using
org.opensearch:opensearch-testcontainers:2.0.0
(https://github.com/opensearch-project/opensearch-testcontainers)

Resolves #7007 

Signed-off-by: Cédric Pelvet <cedric.pelvet@gmail.com>

Signed-off-by: Cédric Pelvet <cedric.pelvet@gmail.com>
Co-authored-by: Trask Stalnaker <trask.stalnaker@gmail.com>
2022-11-09 20:44:14 -08:00
Trask Stalnaker d88d8cc24e
Update couchbase instrumentation shading (#7023)
for consistency with other instrumentations
2022-11-09 08:10:25 -08:00
Mateusz Rzeszutek c1eea368ac
Disable reactor 3.5 latest dep tests (#7119)
Continuation of
https://github.com/open-telemetry/opentelemetry-java-instrumentation/pull/7106
2022-11-09 13:49:42 +01:00
jack-berg 177d9cd531
Record memory usage after garbage collection (#6963)
Per conversation in #6362.
2022-11-08 22:44:48 +00:00
Trask Stalnaker d40377bbd7
Add muzzle limits to fix CI (#7106)
~I'll create a tracking issue to remove these and support new versions.~

Tracking issue added to support latest project reactor 3.5.0 and revert
these limits: #7107
2022-11-08 13:05:57 -08:00
Trask Stalnaker 11eef37a4c
Add toString on BridgedTraceFlags (#7086)
to improve the situation when logging/debugging
`Span.current().getSpanContext()`, currently:

> ImmutableSpanContext{traceId=115a2de6dffb17eaafd13a66d7aec660,
spanId=56af5c30e85bfb08,
traceFlags=**io.opentelemetry.javaagent.instrumentation.opentelemetryapi.trace.BridgedTraceFlags@20ea6fa6**,
traceState=ArrayBasedTraceState{entries=[]}, remote=false, valid=true}
2022-11-08 08:45:09 -08:00
Johnny Lim 944ee84a3d
Fix typos (#7044)
This PR fixes typos.
2022-11-04 18:21:32 -07:00
jack-berg fce5a5f881
Add readme for runtime-metrics (#7012)
In the 10/27 java sig we discussed that it would be valuable to
enumerate the attributes reported for memory pool and gc metrics when
different gcs are used.

I've went ahead and added a readme for the runtime metrics which
includes detailed information on the attributes reported. Note that I
also have the same data for gc metrics added in #6964 and #6963, but
will wait to add until those PRs are merged.
2022-11-02 14:46:07 -07:00
Trask Stalnaker e5040f10e2
Update c3p0 muzzle config (#7017) 2022-11-01 11:25:29 -07:00
Aaron Ai 029ed3d98b
Implement producer part of RocketMQ new client instrumentation (#6884)
Fix #6764 . This pull request is about the producer part.
2022-10-27 19:25:22 -07:00
Lauri Tulmin b0012b083b
okhttp: run our interceptor before other interceptors (#6997)
Resolves
https://github.com/open-telemetry/opentelemetry-java-instrumentation/issues/6909
If our interceptor runs before other interceptors then other
interceptors replacing the request won't affect our interceptor.
2022-10-27 12:45:02 -07:00
Aaron Ai d266a604ed
Add docs for gRPC library instrumentation (#6981)
Fixes #6980
2022-10-27 15:31:28 +02:00
Aaron Ai 0a5fce8243
Add docs for library instrumentation of RocketMQ remoting-based client (#6960)
Fixes #6954

Co-authored-by: Fabrizio Ferri-Benedetti <fferribenedetti@splunk.com>
Co-authored-by: Trask Stalnaker <trask.stalnaker@gmail.com>
2022-10-24 22:57:04 -07:00
Trask Stalnaker b64706721a
Deprecate RocketMQ propagation setting (#6958)
I suspect that this was added in the original RocketMQ instrumentation
because it existed in the Kafka instrumentation, and not because there
was a need for it(?)

See #6957 for documentation on why it is needed in Kafka
2022-10-24 10:27:28 -07:00
Trask Stalnaker 71b3e3e027
Library doc cleanup (#6948)
Related to #6947, but just cleans up the library module doc that already
existed (mostly for uniformity). Does not introduce any new doc.
2022-10-24 10:26:21 -07:00
Aaron Ai 3911cacfdc
Fix typos (#6961) 2022-10-24 09:06:01 -07:00
Trask Stalnaker 93175522d4
Rename kafka propagation setting and clarify behavior (#6957) 2022-10-24 08:49:48 -07:00
Lauri Tulmin 44b02e51bd
Don't use rocketmq trace context (#6940)
Resolves
https://github.com/open-telemetry/opentelemetry-java-instrumentation/issues/6934
As described in the linked issue our usage of rocketmq trace context can
conflict with other hooks that also use `setMqTraceContext`.
2022-10-23 17:50:09 +00:00
Lauri Tulmin 5c2c86c65d
Run aws-sdk tests against 2.18.x (#6956)
Resolves
https://github.com/open-telemetry/opentelemetry-java-instrumentation/issues/6945
2022-10-23 10:33:48 -07:00
Trask Stalnaker 94e2248940
Use new semantic attribute constants (#6946) 2022-10-23 09:32:03 -07:00
Lauri Tulmin 9b4d490e81
Fix metric unit in BufferPoolsTest (#6953) 2022-10-23 09:13:55 -07:00
Trask Stalnaker b2a4cf171f
Cap aws-sdk versions to fix testLatestDeps (#6944)
Opened issue #6945 to track removing the cap.

Resolves #6941 
Resolves #6943
2022-10-23 12:32:37 +03:00
Mateusz Rzeszutek 33b06889fa
Auto-detect service name based on the jar name (#6817)
Co-authored-by: Trask Stalnaker <trask.stalnaker@gmail.com>
2022-10-22 18:10:21 -07:00
jack-berg 015dbf90b0
Add meter version to runtime metrics (#6874)
Runtime metrics doesn't include the meter version. This adds it from the
utility method in the instrumentation-api
`EmbeddedInstrumentationProperties.findVersion`. I know I can read the
properties file for this module, but its repetitive to implement that in
many places.
2022-10-22 18:09:44 -07:00
Trask Stalnaker 9ce68fb937
Fix metric units (#6931)
Follow-up to #6930
2022-10-22 10:00:48 -07:00
王展城 397a5a89b5
fix spring-webflux cast to PathPattern throws ClassCastException (#6872)
when
ServerWebExchange.getAttributes().put(HandlerMapping.BEST_MATCHING_PATTERN_ATTRIBUTE,
"path string type").
opentelemetry javaagent will throw exception.

[企业微信截图_76344afd-4541-482c-a90f-0606ad720351](https://user-images.githubusercontent.com/15957476/195615160-45559fb5-5e0c-4c25-8678-7d8aa603f346.png)
2022-10-21 10:35:33 +02:00
Peter Findeisen 598ee82659
6929 - fixing unit for runtime.jvm.gc.count (#6930) 2022-10-20 17:43:01 -07:00
Trask Stalnaker c18bea3b79
Revert "Temporary fix for testLatestDeps (#6904)" (#6922)
This reverts commit ceb6975d17.

Looks like this got sorted.
2022-10-20 13:06:58 +03:00
Trask Stalnaker f488d94403
Capture net.host.name for netty (#6892)
This may be a regression in 1.19.0 because you can no longer reconstruct
the original url for netty server spans (previously `http.host` was
captured which could be used).
2022-10-19 09:21:50 -07:00
Etienne Dysli Metref 6fb1f00241
Refactor `io.opentelemetry.instrumentation.resources.ContainerResource` to avoid using null (#6889)
While I was looking at issues
open-telemetry/opentelemetry-java-instrumentation#6694 and
open-telemetry/opentelemetry-java#2337, I saw that the code in
`io.opentelemetry.instrumentation.resources.ContainerResource` used
`null` several times as return value which isn't safe. Nowadays,
`Optional` is better suited to signal the absence of a result, so I
refactored `ContainerResource` to use `Optional`s instead of null.

On the way, I also refactored this class's unit tests into parameterised
tests to reduce test code duplication. These improvements should help
implementing a solution to
open-telemetry/opentelemetry-java-instrumentation#6694.

Co-authored-by: Trask Stalnaker <trask.stalnaker@gmail.com>
2022-10-19 03:00:43 +00:00
Trask Stalnaker ceb6975d17
Temporary fix for testLatestDeps (#6904)
Resolves #6903
2022-10-18 16:28:30 +02:00
Trask Stalnaker 895880b121
Fix akka testLatestDeps (#6900)
Resolves #6901
2022-10-17 17:45:05 -07:00
Mateusz Rzeszutek b6ded1f9a0
End reactor-netty HTTP client span properly on `Mono#timeout()` (#6891)
Calling `Mono#timeout()` with a timeout value smaller than the HTTP
client timeout caused the on request/response end callbacks to be simply
discarded; and the HTTP span was never finished.
2022-10-17 13:29:02 -07:00
Trask Stalnaker c1cdadab5d
Fix testLatestDeps (#6880) 2022-10-14 12:03:48 +03:00
Lauri Tulmin 279ab34ba9
Fix regression in webflux http client concurrency test (#6858)
Resolves
https://github.com/open-telemetry/opentelemetry-java-instrumentation/issues/6857
Resolves
https://github.com/open-telemetry/opentelemetry-java-instrumentation/issues/6856
Resolves
https://github.com/open-telemetry/opentelemetry-java-instrumentation/issues/6854
Looks like a regression from
https://github.com/open-telemetry/opentelemetry-java-instrumentation/pull/6836
2022-10-12 09:21:49 -07:00