-
Notifications
You must be signed in to change notification settings - Fork 3.7k
OpenTelemetry emitter extension #12015
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
OpenTelemetry emitter extension #12015
Conversation
@IvanVan Thanks for your contribution. For distributed tracing, I have been working on a side project by using java agent. This project not only collects metrics from any java processes, but also automatically injects opentelemetry standard tracing context in HTTP request to trace the call chain without any changes on Druid side. Although it's still under development, I think you may be interested in it. Here're some screenshots from my project. |
@FrankChen021 I agree we can gain a lot by deploying the agent as well. While it does get us visibility into more things, it doesn't get us access to the query context metadata which is useful to get into the trace context. Ultimately I think we want those two approaches to converge and and work better together, so this is a starting point. |
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.
I have already reviewed this code internally, and we've rolled this out to one of our clusters, so this LGTM. It would however be valuable to get any other high level feedback or suggestions from the community.
"traceparent", | ||
"tracestate" |
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.
nit, the docs mention traceparent, but they don't mention anything about tracestate or how it's being used. Can we add some details to clarify that?
@xvrl Sorry for the late response. It's not a hard thing for the agent to get the data in the query context, Here's an example: BWT, I'm not giving objections on the merging of this PR. |
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.
👍 LGTM, thanks a lot for your contribution
I'm not sure how this PR passed Travis CI. But it broke the forbidden api checks. This seems like because of the different guava version that this extension uses. Any suggestions on how to fix this? |
This is a blocker and we should fix it as soon as possible since it is blocking every PR. |
@jihoonson How about this solution #12158 |
@jihoonson At present, because of this #12034 PR, the |
* Add OpenTelemetry emitter extension * Fix build * Fix checkstyle * Add used undeclared dependencies * Ignore unused declared dependencies (cherry picked from commit 6a93872) Signed-off-by: ssagare <[email protected]>
Description
OpenTelemetry extension for distributed traces.
Use Druid emitter functionality to ingest metrics and create spans from query/time metrics. See emitter for more information
Use
context
field for propagation. See druid context for more information.This PR has: