-
Notifications
You must be signed in to change notification settings - Fork 174
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
Introduce jvm.thread.daemon
and jvm.thread.state
attributes
#297
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.
👍
In other hand, the "isDaemon" concept can be extracted from Python and .NET, (maybe also in other langs?) so maybe we should consider actually keeping it in the existing If we later decide to spec it and re-use, the JVM metrics will be hurt by it. |
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.
Given Java's moves in threading models where it could be the case going forward that Java threads deviate significantly from POSIX standards, I think it makes sense to split.
Per @joaopgrassi's comments on DAEMON and python/.NET, I'm not sure we have the same meaning between them all. Would be good to do a quick comparison, but I do think isolating Java's threading model from others would be healthy at this point.
Java "daemon threads" == .NET "background threads" I couldn't find any other languages that have a similar concept (other than Java, Python and .NET) I'm personally in favor of keeping |
Fixes open-telemetry/build-tools#101
Closes open-telemetry/build-tools#314
Changes
This PR does two things:
thread.daemon
attribute and introducesjvm.thread.daemon
insteadjvm.thread.state
attribute and adds it to thejvm.thread.count
metricIt's definitely debatable whether these two attributes should live in the
jvm.thread.*
orthread.*
namespace.My primary reason for proposing that they live under
jvm.thread.*
is that I couldn't find anything to support these being general cross-language concepts, and JVM metric stability will depend on any attributes it uses also being marked stable.I think we could view this like garbage collection, which is something that some other languages have, but we are not prepared to try to unify under a single set of attribute definitions prior to initial stability.
Note that while ECS defines
thread.name
andthread.id
, they do not have anything likethread.daemon
orthread.state
.Merge requirement checklist