[
https://issues.apache.org/jira/browse/HBASE-29940?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Xiao Liu updated HBASE-29940:
-----------------------------
Description:
When using different JDK versions and adding different JVM configurations, the
number of GC Collectors may vary. The current logic hardcodes two GC
Collectors, but in actual scenarios, there could be three or four. We need to
better accommodate this situation.
Below are different scenarios, after applying this patch, these scenarios will
all display correctly.
h3. JDK17 + G1
{code:java}
2 Garbage Collector MXBeans
---------------------------------------------
Name: G1 Young Generation
Collection Count: 0
Collection Time (ms): 0
Memory Pool Names: G1 Eden Space, G1 Survivor Space, G1 Old Gen
---------------------------------------------
Name: G1 Old Generation
Collection Count: 0
Collection Time (ms): 0
Memory Pool Names: G1 Eden Space, G1 Survivor Space, G1 Old Gen
{code}
h3. JDK17 + ZGC
{code:java}
2 Garbage Collector MXBeans
---------------------------------------------
Name: ZGC Cycles
Collection Count: 0
Collection Time (ms): 0
Memory Pool Names: ZHeap
---------------------------------------------
Name: ZGC Pauses
Collection Count: 0
Collection Time (ms): 0
Memory Pool Names: ZHeap
{code}
h3. JDK21 + G1
{code:java}
3 Garbage Collector MXBeans:
---------------------------------------------
Name: G1 Young Generation
Collection Count: 0
Collection Time (ms): 0
Memory Pool Names: G1 Eden Space, G1 Survivor Space, G1 Old Gen
---------------------------------------------
Name: G1 Concurrent GC
Collection Count: 0
Collection Time (ms): 0
Memory Pool Names: G1 Old Gen
---------------------------------------------
Name: G1 Old Generation
Collection Count: 0
Collection Time (ms): 0
Memory Pool Names: G1 Eden Space, G1 Survivor Space, G1 Old Gen
{code}
h3. JDK21 + ZGC
{code:java}
2 Garbage Collector MXBeans:
---------------------------------------------
Name: ZGC Cycles
Collection Count: 0
Collection Time (ms): 0
Memory Pool Names: ZHeap
---------------------------------------------
Name: ZGC Pauses
Collection Count: 0
Collection Time (ms): 0
Memory Pool Names: ZHeap
{code}
h3. JDK21 + Generational ZGC
{code:java}
4 Garbage Collector MXBeans:
---------------------------------------------
Name: ZGC Minor Cycles
Collection Count: 0
Collection Time (ms): 0
Memory Pool Names: ZGC Young Generation, ZGC Old Generation
---------------------------------------------
Name: ZGC Minor Pauses
Collection Count: 0
Collection Time (ms): 0
Memory Pool Names: ZGC Young Generation, ZGC Old Generation
---------------------------------------------
Name: ZGC Major Cycles
Collection Count: 0
Collection Time (ms): 0
Memory Pool Names: ZGC Young Generation, ZGC Old Generation
---------------------------------------------
Name: ZGC Major Pauses
Collection Count: 0
Collection Time (ms): 0
Memory Pool Names: ZGC Young Generation, ZGC Old Generation
{code}
was:
When using different JDK versions and adding different JVM configurations, the
number of GC Collectors may vary. The current logic hardcodes two GC
Collectors, but in actual scenarios, there could be three or four. We need to
better accommodate this situation.
Below are different scenarios:
h3. JDK17 + G1
{code:language=bash|borderStyle=solid|theme=RDark|linenumbers=true|collapse=false}
2 Garbage Collector MXBeans
---------------------------------------------
Name: G1 Young Generation
Collection Count: 0
Collection Time (ms): 0
Memory Pool Names: G1 Eden Space, G1 Survivor Space, G1 Old Gen
---------------------------------------------
Name: G1 Old Generation
Collection Count: 0
Collection Time (ms): 0
Memory Pool Names: G1 Eden Space, G1 Survivor Space, G1 Old Gen
{code}
h3. JDK17 + ZGC
{code:language=bash|borderStyle=solid|theme=RDark|linenumbers=true|collapse=false}
2 Garbage Collector MXBeans
---------------------------------------------
Name: ZGC Cycles
Collection Count: 0
Collection Time (ms): 0
Memory Pool Names: ZHeap
---------------------------------------------
Name: ZGC Pauses
Collection Count: 0
Collection Time (ms): 0
Memory Pool Names: ZHeap
{code}
h3. JDK21 + G1
{code:language=bash|borderStyle=solid|theme=RDark|linenumbers=true|collapse=false}
3 Garbage Collector MXBeans:
---------------------------------------------
Name: G1 Young Generation
Collection Count: 0
Collection Time (ms): 0
Memory Pool Names: G1 Eden Space, G1 Survivor Space, G1 Old Gen
---------------------------------------------
Name: G1 Concurrent GC
Collection Count: 0
Collection Time (ms): 0
Memory Pool Names: G1 Old Gen
---------------------------------------------
Name: G1 Old Generation
Collection Count: 0
Collection Time (ms): 0
Memory Pool Names: G1 Eden Space, G1 Survivor Space, G1 Old Gen
{code}
h3. JDK21 + ZGC
{code:language=bash|borderStyle=solid|theme=RDark|linenumbers=true|collapse=false}
2 Garbage Collector MXBeans:
---------------------------------------------
Name: ZGC Cycles
Collection Count: 0
Collection Time (ms): 0
Memory Pool Names: ZHeap
---------------------------------------------
Name: ZGC Pauses
Collection Count: 0
Collection Time (ms): 0
Memory Pool Names: ZHeap
{code}
h3. JDK21 + Generational ZGC
{code:language=bash|borderStyle=solid|theme=RDark|linenumbers=true|collapse=true}
4 Garbage Collector MXBeans:
---------------------------------------------
Name: ZGC Minor Cycles
Collection Count: 0
Collection Time (ms): 0
Memory Pool Names: ZGC Young Generation, ZGC Old Generation
---------------------------------------------
Name: ZGC Minor Pauses
Collection Count: 0
Collection Time (ms): 0
Memory Pool Names: ZGC Young Generation, ZGC Old Generation
---------------------------------------------
Name: ZGC Major Cycles
Collection Count: 0
Collection Time (ms): 0
Memory Pool Names: ZGC Young Generation, ZGC Old Generation
---------------------------------------------
Name: ZGC Major Pauses
Collection Count: 0
Collection Time (ms): 0
Memory Pool Names: ZGC Young Generation, ZGC Old Generation
{code}
> GC Collector stats can't be display properly in JDK21
> -----------------------------------------------------
>
> Key: HBASE-29940
> URL: https://issues.apache.org/jira/browse/HBASE-29940
> Project: HBase
> Issue Type: Improvement
> Components: UI
> Reporter: Xiao Liu
> Assignee: Xiao Liu
> Priority: Major
> Labels: pull-request-available
> Fix For: 3.0.0-beta-2
>
> Attachments: 00-default-error-case.png, 01-JDK17+G1.png,
> 02-JDK17+ZGC.png, 03-JDK21+G1.png, 04-JDK21+ZGC.png,
> 05-JDK21+Generational_ZGC.png
>
>
> When using different JDK versions and adding different JVM configurations,
> the number of GC Collectors may vary. The current logic hardcodes two GC
> Collectors, but in actual scenarios, there could be three or four. We need to
> better accommodate this situation.
> Below are different scenarios, after applying this patch, these scenarios
> will all display correctly.
> h3. JDK17 + G1
> {code:java}
> 2 Garbage Collector MXBeans
> ---------------------------------------------
> Name: G1 Young Generation
> Collection Count: 0
> Collection Time (ms): 0
> Memory Pool Names: G1 Eden Space, G1 Survivor Space, G1 Old Gen
> ---------------------------------------------
> Name: G1 Old Generation
> Collection Count: 0
> Collection Time (ms): 0
> Memory Pool Names: G1 Eden Space, G1 Survivor Space, G1 Old Gen
> {code}
> h3. JDK17 + ZGC
> {code:java}
> 2 Garbage Collector MXBeans
> ---------------------------------------------
> Name: ZGC Cycles
> Collection Count: 0
> Collection Time (ms): 0
> Memory Pool Names: ZHeap
> ---------------------------------------------
> Name: ZGC Pauses
> Collection Count: 0
> Collection Time (ms): 0
> Memory Pool Names: ZHeap
> {code}
> h3. JDK21 + G1
> {code:java}
> 3 Garbage Collector MXBeans:
> ---------------------------------------------
> Name: G1 Young Generation
> Collection Count: 0
> Collection Time (ms): 0
> Memory Pool Names: G1 Eden Space, G1 Survivor Space, G1 Old Gen
> ---------------------------------------------
> Name: G1 Concurrent GC
> Collection Count: 0
> Collection Time (ms): 0
> Memory Pool Names: G1 Old Gen
> ---------------------------------------------
> Name: G1 Old Generation
> Collection Count: 0
> Collection Time (ms): 0
> Memory Pool Names: G1 Eden Space, G1 Survivor Space, G1 Old Gen
> {code}
> h3. JDK21 + ZGC
> {code:java}
> 2 Garbage Collector MXBeans:
> ---------------------------------------------
> Name: ZGC Cycles
> Collection Count: 0
> Collection Time (ms): 0
> Memory Pool Names: ZHeap
> ---------------------------------------------
> Name: ZGC Pauses
> Collection Count: 0
> Collection Time (ms): 0
> Memory Pool Names: ZHeap
> {code}
> h3. JDK21 + Generational ZGC
> {code:java}
> 4 Garbage Collector MXBeans:
> ---------------------------------------------
> Name: ZGC Minor Cycles
> Collection Count: 0
> Collection Time (ms): 0
> Memory Pool Names: ZGC Young Generation, ZGC Old Generation
> ---------------------------------------------
> Name: ZGC Minor Pauses
> Collection Count: 0
> Collection Time (ms): 0
> Memory Pool Names: ZGC Young Generation, ZGC Old Generation
> ---------------------------------------------
> Name: ZGC Major Cycles
> Collection Count: 0
> Collection Time (ms): 0
> Memory Pool Names: ZGC Young Generation, ZGC Old Generation
> ---------------------------------------------
> Name: ZGC Major Pauses
> Collection Count: 0
> Collection Time (ms): 0
> Memory Pool Names: ZGC Young Generation, ZGC Old Generation
> {code}
>
--
This message was sent by Atlassian Jira
(v8.20.10#820010)