-
Notifications
You must be signed in to change notification settings - Fork 896
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
Consider changes to process.runtime.jvm.classes.* #3429
Comments
My $0.02:
I think it does make sense to have all 3 in the spec. I'd bet there are two main uses cases for these metrics -- troubleshooting time spent doing large number of class loads over a long time (esp dynamic jvm languages) , and troubleshooting large number of loaded/resident classes (like when comparing with a heap dump). Just because the the resident count can be calculated, it doesn't mean it will always be convenient or easy for a user. For the implementer, I think this also suggests that loaded/unloaded are observed in lockstep...which I also doubt is very easy to guarantee. I think having all 3 gives implementers a bit more flexibility. I suppose a downside is that it opens up the possibility for the math to not work out, which could be confusing for some users (and require an explanation from implementers).
Maybe the type being UpCounter is enough to make that clear. The difference between |
Someone mentioned this format in the WG, which I think is quite clear: |
I agree with "For the implementer, I think this also suggests that loaded/unloaded are observed in lockstep...which I also doubt is very easy to guarantee" by @breedx-splk If these two values are read at different points of time, they may indeed not be in lock step and it would be an unnecessary burden on the JVM to require it to do better. I agree that we should just document the possibility in this case. |
This intersects with #3457. Since |
looking at
(there's an open question about |
Here's latest proposal from today's SIG meeting:
|
How about also |
|
what about mix of pluralization between compare to spec guidance here: https://github.com/open-telemetry/opentelemetry-specification/blob/main/specification/metrics/semantic_conventions/README.md#pluralization suggests to use |
I split out the |
I realized a problem with this is that it sounds like the number of threads that are "actively running" (i.e. |
I think I've convinced myself that
this works for other cases too, e.g.
also, in prometheus,
|
|
For If metric namespaces can be metric names:
If not:
|
We also have
|
Closing, results of this discussion are now captured in open-telemetry/semantic-conventions#59 and open-telemetry/semantic-conventions#60 |
Currently these metrics are defined under
process.runtime.jvm.classes.*
:process.runtime.jvm.classes.loaded
process.runtime.jvm.classes.unloaded
process.runtime.jvm.classes.current_loaded
One question which was raised is whether we need all three since
current = loaded - unloaded
, but we found reference to prior discussion and I believe the answer to that is summarized by @jack-berg's #2549 (comment)Another question is whether there could be clearer naming to reflect that loaded and unloaded are cumulative totals over time.
The text was updated successfully, but these errors were encountered: