RFR: 7195: GC confguration with GC Flags

Brice Dutheil github.com+803621+bric3 at openjdk.java.net
Fri Apr 2 16:41:32 UTC 2021


This pull request proposes to display related garbage collector flags.

**Motivation**

When turning the GC flag knobs, it is useful to be able to quickly see
the GC configuration, however the _GC configuration_ page only show 3 
events, if one wants to have a look at flags he has to either check
the command line or inspect the _JVM internal_ page to find relevant
GC flags. Therefore having these flags right there is useful to get
a quick picture of the current configuration.

**Current limitations**

1. At this time the selected flags depends on the GC algorithm which is 
   derived from the name of the old collector name. This is simple, 
   however it prevents to identify EpsilonGC because whose old 
   collector name is `SerialOld`, which is the same as SerialGC.

2. There are some global flags in `gc/shared/gc_globals.hpp` that 
   I didn't include as I didn't use most of them. I'm not sure these 
   flags are seen much in the wild.


**Remarks**

As mentionned above the use of the OldCollector name may not be the 
best choice, I would like to refactor this part to use the `Use*GC`
flags instead. I am a bit unsure at this time how to use the 
existing API.

-------------

Commit messages:
 - 7195: Refactor GC dsicovery mechanism
 - 7195: Upgrades copyright header years
 - GC conf, spotless:apply
 - GC conf, refactor UI in a IPageUI
 - GC conf, adds flags for Serial/Parallel/CMS
 - GC conf, additional flags for each GC
 - GC conf, Profiles may not have GC config/flags events
 - GC conf, select flags with Collector Name
 - GC conf, pre-filters GC flags on substring
 - Introduces GC flags in GC configuration page

Changes: https://git.openjdk.java.net/jmc/pull/230/files
 Webrev: https://webrevs.openjdk.java.net/?repo=jmc&pr=230&range=00
  Issue: https://bugs.openjdk.java.net/browse/JMC-7195
  Stats: 312 lines in 4 files changed: 256 ins; 1 del; 55 mod
  Patch: https://git.openjdk.java.net/jmc/pull/230.diff
  Fetch: git fetch https://git.openjdk.java.net/jmc pull/230/head:pull/230

PR: https://git.openjdk.java.net/jmc/pull/230


More information about the jmc-dev mailing list