-
Notifications
You must be signed in to change notification settings - Fork 2.7k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Support OpenTelemetry @WithSpan in CDI #21013
Conversation
This workflow status is outdated as a new workflow run has been triggered. Failing Jobs - Building 6605fb8
Full information is available in the Build summary check run. Failures⚙️ Native Tests - Messaging2 #- Failing: integration-tests/reactive-messaging-rabbitmq
📦 integration-tests/reactive-messaging-rabbitmq✖
|
6605fb8
to
adcbc51
Compare
This workflow status is outdated as a new workflow run has been triggered. Failing Jobs - Building adcbc51
Full information is available in the Build summary check run. Failures⚙️ JVM Tests - JDK 11 #- Failing: integration-tests/reactive-messaging-rabbitmq
📦 integration-tests/reactive-messaging-rabbitmq✖
|
adcbc51
to
735f3dd
Compare
735f3dd
to
662cdc7
Compare
662cdc7
to
62a0a34
Compare
...telemetry/runtime/src/main/java/io/quarkus/opentelemetry/runtime/tracing/TracerProducer.java
Show resolved
Hide resolved
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Are there benefits of using the Instrumentor libraries vs interacting with the tracer directly?
Failing Jobs - Building 62a0a34
Failures⚙️ JVM Tests - JDK 11 Windows #- Failing: docs
📦 docs✖ ⚙️ Native Tests - Windows - hibernate-validator #- Failing: integration-tests/hibernate-validator
📦 integration-tests/hibernate-validator✖ |
The benefit here is that we only need to configure the I also wrote a prototype in SR OpenTelemetry to try it out first: https://github.com/smallrye/smallrye-opentelemetry/tree/main/implementation My plan was to refactor our manual |
My understanding was manual instrumentation was done with https://github.com/open-telemetry/opentelemetry-java, the OTeL Java SDK directly, and not through the |
I believe that the Instrumeter APIs were not mature enough in the past. They seem to be better now and the way to go. For instance if you look into their Spring Web implementation they do it use the Instrumenter API: https://github.com/open-telemetry/opentelemetry-java-instrumentation/tree/main/instrumentation/spring/spring-web-3.1/library/src/main/java/io/opentelemetry/instrumentation/spring/web |
Right.. but that is instrumentation agent... not something like quarkus (that would run outside/above/alongside the agent). Granted, we're kind of halfway in-between being an agent and not.. |
I would recommend not to use auto instrumentation APIs in non-agent usage in Quarkus, but it's up to you @radcortez |
I think my question is whether or not they are ready for the instrumentation APIs to be used this way outside of that repo (i.e. do they think it is stable). Then we (quarkus) have another question to answer differently, which is whether or not any of those libraries could/should work as-is. |
That is something we can confirm / clarify in one of the OTel calls.
I believe we should follow the same rule as any other library. If it is not a Quarkus supported extension, then you are on your own. Agents are a different story. |
In the last OTel call, I've confirmed with @kenfinnigan that the Instrumenter API is also intended to be used for libraries. @kenfinnigan are you in favour to proceed with this approach? |
Entirely up to you now @radcortez! Only comment I'd make is whether it also requires revisiting the existing implementation to utilize the same API for consistency. |
Yes, I plan to do it as well for Vert.x in another PR. Thanks! |
A few considerations: