-
Notifications
You must be signed in to change notification settings - Fork 9k
[Do not merge] HADOOP-19461. JVM GC Metrics supports Generational ZGC pause time #7406
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
base: trunk
Are you sure you want to change the base?
Conversation
468ffe9
to
404fcfc
Compare
💔 -1 overall
This message was automatically generated. |
💔 -1 overall
This message was automatically generated. |
404fcfc
to
114e0b1
Compare
114e0b1
to
272ff74
Compare
💔 -1 overall
This message was automatically generated. |
💔 -1 overall
This message was automatically generated. |
💔 -1 overall
This message was automatically generated. |
@pan3793 Could you please review this PR? Thank you very much! |
thank you all, please review this PR, if anyone have time |
@chaijunjie0101 Could you provide the JVM info of your tested cluster? e.g. the output of |
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.
Sorry, the PR title is misleading, I think the current trunk code could report "Total GC Count" and "Total GC time in milliseconds" correctly for Generational ZGC without this patch, and the implementation does not look correct to me.
Minor and Major GC are quite common concepts for GC, not specific to ZGC, for example, the Spark docs say:
.MinorGCCount - Total minor GC count. For example, the garbage collector is one of Copy, PS Scavenge, ParNew, G1 Young Generation and so on.
.MajorGCCount - Total major GC count. For example, the garbage collector is one of MarkSweepCompact, PS MarkSweep, ConcurrentMarkSweep, G1 Old Generation and so on.
hi, thanks reviwing~ jmx["java.lang:type=GarbageCollector,name=ParNew","CollectionCount"] ParNew likely Minor GC, ConcurrentMarkSweep likely Major GC, but I do not why they not use same bean name like "MajorGC", maybe some diiferent here? when I test on JDK21, I just want get a more refined GC time to adjust Youg/Old memory size, since ZGC provides them(Major/Minor), we could fetch them... you means we no need it, or need to support all GC's "MajorGC/MinorGC", but it may be difficult, the JDK not define a common metric for them? |
Don't do things that may confuse users.
|
thank you give me these examples, I will try to combine and support all GCs |
Description of PR
https://issues.apache.org/jira/browse/HADOOP-19461
Add 4 metrics to support Generational ZGC
MinorGcCount
MajorGcCount
MinorGcTimeMillis
MajorGcTimeMillis
so we could focous minor or major GC from Hadoop jvm jmx
Test on my cluster(first verion, not include checkstyle fix):
