-
Notifications
You must be signed in to change notification settings - Fork 1.3k
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
Add Quarkus documentation #6138
base: main
Are you sure you want to change the base?
Conversation
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.
Hi. The build is failing, see the following log for details: https://app.netlify.com/sites/opentelemetry/deploys/679caf7a75f6fc0008075aa4. See inline suggestions for a possible fix.
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.
Thank you @brunobat!
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.
A partial copyedit pass.
Hey @brunobat, thanks for raising this issue! We talked about this (and Deno) last Monday during the SIG communcations call, since both set precedence for having documentation for external projects. Overall we are excited for other projects to take on the instrumentation directly, but we need to make sure we provide some guidance here (when do we accept such a page and when do we decline, etc.), please give us some more time to evaluate. cc @open-telemetry/docs-approvers @jack-berg |
@svrnm do you need me in the next communications meeting? |
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 strongly support 💪
@brunobat and the Quarkus team have been active members of the OpenTelemetry Java community for a long time, and Quarkus represents an important alternative to the Spring ecosystem for our users
let me know if I can help further, thanks!
Thanks for commenting already @svrnm. Let me share some of what I recall from our discussion during the last Comms meeting. Actually, first let's consider that we already have:
The main question I have is What added value is there for the content of this PR vs. the Quarkus docs referenced above? Is there anything new and exclusive here? If so, why isn't it a part of the Quarkus docs? If it is just a repetition, then it introduces a maintenance overhead. Some repetition can be ok in a blog post, so maybe that is what is needed here? As @svrnm mentioned, we're trying to find a solution that we can apply uniformly. My 2 cents. Open to further discussion. |
The OpenTelemetry instrumentation developed on the Quarkus side covers one important use case in the Java world not possible with the OpenTelemetry Java agent today: instrument a Quarkus GraalVM native application with OpenTelemetry. This use case was an important reason to make the OTel starter stable. From my side, it would make sense to highlight this in a very visible way for the OpenTelemetry users (with a new page for example). There are also other scenarios exposed on the OpenTelemetry starter page for which the OpenTelemetry instrumentation developed on the Quarkus side is an alternative to the OpenTelemetry Java agent: |
@svrnm I think this shouldn't be about what the PR adds in terms of documentation completeness but:
|
"The main question I have is What added value is there for the content of this PR vs. the Quarkus docs referenced above" mainly visibility to those looking into using OpenTelemetry standards sees that there a ways beyond just the opentelemetry github org provided libraries that enable great support for OpenTelemetry in Java ecosystem. I definitely grok how it would be relevant to clearly mark that the Quarkus effort is from "outside" the github org/opentelemetry. Would that help to be called out more explicitly ? |
I love the direction quarkus has taken and hope other libraries and frameworks will follow suit! But projecting to that future, what's the scope of opentelemetry.io? We definitely want to have great discoverability of instrumentation / integrations that live both inside and outside of the opentelemetry github org. Currently, we have a page called "Instrumentation ecosystem", with a section called Native instrumentation, which lists the libraries which support native instrumentation. The list is driven by entries in the registry. Quarkus is on that list. I think the important questions to ask are:
|
Let me say this as well: I am a big fan of Quarkus providing native opentelemetry support. It is in line with the mission and vision of our project, and helps us a ton. So we need to distinguish two things here:
For (1) adding a page for quarkus is one of many options, but as you can see not the easiest one. Much easier, are the following:
Especially the blog post is only a matter of "write it, publish it" and we have previous examples of that, e.g. https://opentelemetry.io/blog/2024/new-otel-features-envoy-istio/ I am happy to help with that! For (2) this is not a discussion about quarkus, but a generalized thing we need to resolve. So nothing we say or write in that context that may feel like a push back means that we do not recognize and appreciate the work. It also does not say that we will not find a way to have these projects promoted properly. And, even if we may decide to not merge this PR, this also not a devaluation of your contribution @brunobat, quite the opposite: this discussion is highly valuable and important to have, so thank you for engaging in it with us. What we need to do, is to answer the questions @chalin and @jack-berg posted, so let me pick them up to drive that discussion.
As @maxandersen the main difference is visibility: the registry and ecosystem pages are not at a prime spot, and if someone searches in the java documentation, they will only find them in the "Native Instrumentation" section, which already requires some contextual knowledge. So, I understand the driver behind this PR, but I also think that we should avoid duplicating docs that belong on the Quarkus website.
Based on the discussions so far he answer to the question if a link is always enough is "no", but it's a starting point. I agree that it is not optimal for searchability and discoverability for endusers, so we need to think how we can do better here. And yes we need to find rules and guidelines what is promoted in which way. While quarkus and deno are a clear "yes", there are other less popular languages and frameworks, that might not hit the mark.
Once again, the registry needs a major rehaul. It does a good job and has plenty of visitors these days, but it's still a project that would need much more love and attention. To summarize, let's do the following:
|
I agree with that. As said, the registry is not the place it should be and it does also not yet give us a way to properly promote the projects that have OpenTelemetry integration. We had many discussions on how to make it better and we have many many outstanding issues on making it better, but at the end someone (2+ people) need to sit down and do the work for it, and so far nobody showed up or shifted their priorities towards that.
can you be more specific what you mean by "one of our competitors"? Is this around spring? If yes, we have it in the documentation because we have a group of people (@zeitlinger, @jeanbisutti and others) who maintain this work within the OpenTelemetry project. Interestingly the spring boot starter is itself competing with springs own solution (micrometer) which itself is also currently listed in the same way quarkus is listed. You can ask a similar question around many programming languages that compete with the ones we list, vs the ones we do not (deno, zig, haskell, perl, etc.): they have a SIG and project within OpenTelemetry, so they are part of the official documentation. And this is what all this discussion is about: how can we embrace the kind of work you are doing alongside the work that is happening within the community?
Yes, something like this can be part of the solution, we had a related discussion on that here: #4475 In my mind there are a few building blocks to move forward with this:
|
About the risk of duplicating the documentation on the OTel and Quarkus sides It does not make sense to duplicate the documentation. The documentation of this PR is short and provides some guidelines for Quarkus with links to the Quarkus OTel documentation: The OTel Java agent is not the magic solution for every user scenario. As a user, I would like the documentation published on the OTel website to provide me with some guidelines to help me choose which OTel solution to use to observe my application (see #6138 (comment)). |
I think there is a misunderstanding: I agree that we want to provide quarkus (and others) more visibility, this is less a question about the what and why, which are both clear. It's about the how. All I ask for is that we take the appropriate amount of time to discuss, plan and execute on that. And, again, as a short term measure, let's start with a blog post! It has a lot of immediate reach! |
I'll join the next docs SIG meeting to discuss. I'm happy to own the Quarkus documentation page under the Java SIG. It has been developed by one of our SIG members (@brunobat), with collaboration from one of our SIG approvers (@jeanbisutti), and I think it's good for our users to see that it's supported equally well as the Spring ecosystem. |
This PR adds documentation on how to use the zero-code OpenTelemetry instrumentation with the Quarkus java runtime.