-
Notifications
You must be signed in to change notification settings - Fork 860
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
JMX implementation : feature parity for target systems #12158
Comments
Ping @robsunday I can't yet co-assign you as you are not part of the otel contributors group. |
For Tomcat, the mapping is not the same but almost equivalent, there isn't anything we need to add for 1:1 support beyond aligning the metrics themselves. Side note: using JMX object names and attributes is a convenient way to identify elements, as it's a common part between the two mappings.
Given the mapping differences, I think here we need we probably need to leave it as-is for now. |
I'll look on Jetty |
For Wildfly, the mapping is also not the same but equivalent, there isn't anything we need to add for 1:1 support beyond aligning the metrics themselves.
|
For JVM metrics, the JMX Insight does not provide a YAML file, the feature is implemented in the JMX Gatherer provides the following metrics that are not aligned with semconv, all of those can be easily captured with the YAML configuration:
|
As a side note, after reviewing differences for As a consequence, I think the better option for now is to:
The steps that will likely follow are:
|
Here are my findings regarding
|
For |
For JMX attribute JMX
|
For There is no mapping in YAML, the mapping is verbose and the lack of support for templates or string interpolation would make it quite tedious to write, but it's more an annoyance than a really blocking issue. For example, few examples of MBeans:
There isn't anything that could not be mapped using YAML syntax. |
For
All
|
|
For JMX:
I haven't checked in detail all the others, but they look identical between the two implementations. I discovered that we have a way to use multiple mbeans names with the same metrics definition as seen in kafka-broker.yaml For |
JMX Insights supports some values for
otel.jmx.target.system
, those are defined in YAML files here.JMX Gatherer (in contrib) supports more values of
otel.jmx.target.system
, those are defined in Groovy scripts here.While the Groovy scripts are convenient, moving to YAML seems a more future-proof solution:
Merging both implementations and bringing them to feature parity means that we have to attempt migrate/align all of the JMX Gatherer supported systems and ensure they can be implemented with YAML. Doing so will highlight any missing feature of the YAML implementation by adding any missing part.
Once the alignment is complete, we should then be able to start on the next step: building a "JMX Scraper" in contrib based on the YAML implementation in instrumentation.
For each system listed below, we need to ensure the following with JMX Insights
List of systems to cover:
Once feature parity is achieved and JMX Scraper allows to capture both:
Then we can start the next step to enhance and align the metrics as the initial attempt in #11621
When doing so, special care should be taken to ensure that we conform to current guidelines for metrics defined here, for example:
{noun}
instead of 1Follow-up tasks
The text was updated successfully, but these errors were encountered: