-
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
Move MongoDB Client Tracing to OpenTelemetry #28473
Comments
/cc @Ladicek, @brunobat, @evanchooly, @loicmathieu |
I'm not opposing the move but, for posterity's sake, perhaps some reasoning would help. |
Sure. Updated the description. |
Maybe we should support both not ? |
Yes, the plan is to drop OpenTracing. As pointed out here: https://www.cncf.io/blog/2022/01/31/cncf-archives-the-opentracing-project, OpenTracing is archived by CNCF. We have problems fixing current issues because no new releases are being cut. In some cases, we had to fork the code and release it in a different GAV. We want to encourage users to move to OpenTelemetry, since OpenTracing is dead now. |
@radcortez if we plan to drop support for Quarkus so OK for me to move the current MongoDB support from OpenTracing to OpenTelemetry. There is a command listener used to trace each MongoDB command (request / query) here: https://github.com/quarkusio/quarkus/blob/main/extensions/mongodb-client/runtime/src/main/java/io/quarkus/mongodb/tracing/MongoTracingCommandListener.java it currently delegates to a command listener from the OpenTracing contrib MongoDB instrumentation. If such instrumentation exist for OpenTelemetry it should be updated to use it. |
There is some instrumentation available here: https://github.com/open-telemetry/opentelemetry-java-instrumentation/tree/main/instrumentation/mongo, but I didn't look into it yet. |
@radcortez these are based on a Java agent which is a different strategy that should not need anything on our side but as it required JVMTI will not work in native. |
There is also library support, but only for 3.1: https://github.com/open-telemetry/opentelemetry-java-instrumentation/tree/main/instrumentation/mongo/mongo-3.1/library. |
It also uses a command listener so we may be able to use it like we did for OpenTracing, I don't know why it is for 3.1 maybe it can also be used for the version 4, it needs to be tested anyway. |
Hi guys, do you have any updates on this one? |
Not yet but I moved the implementation target to next quarter, @sifraden |
FYI, I've tested the OpenTelemetry agent's MongoDB driver instrumentation, and it works with the latest release of the driver (4.10 at the time I tested). CC @evanchooly |
Hi @radcortez, since you are the assignee, maybe you could review PR? thx |
Fixed by #40191 |
Description
The MongoDB Client Extension uses OpenTracing for Tracing. We need to move it to OpenTelemetry because CNCF has archived OpenTracing: https://www.cncf.io/blog/2022/01/31/cncf-archives-the-opentracing-project.
Implementation ideas
No response
The text was updated successfully, but these errors were encountered: