RFR: 8152100 : Rework and unify the GC phase logging

Stefan Karlsson stefan.karlsson at oracle.com
Thu Mar 17 13:29:53 UTC 2016


Hi all,

Please review and comment on this patch to rework and unify the GC phase 
logging.

http://cr.openjdk.java.net/~stefank/8152100/webrev.00/
https://bugs.openjdk.java.net/browse/JDK-8152100

The patch:
1) Adds the 'phases' tag to all GCTraceTimer calls, except those that 
correspond to the top-level GC measurement that is logged when -Xlog:gc 
is used.

2) Change the 'phases' levels so that:
  - Info - gives the first-level GC phase, such as marking, sweeping, etc.
  - Debug - also gives better breakdown of what we do in the different 
phases: reference processing, unloading, string table scrubbing, etc.
  - Trace - also gives non-descriptive phases that we might want to 
cleanup our restructure.

3) Moved "gc, compaction, phase" to "gc, compaction", so that 
-Xlog:gc+phases*=trace is usable.

4) Added and removed some phases so that the different GCs log similar 
phases.

Examples of what this looks like in our different GCs can be found 
below. The logs where produced with -Xlog:gc,start*,gc+phases=<level>.

Serial GC:
http://cr.openjdk.java.net/~stefank/8152100/logs.00/gctracetimer.serial.off.txt
http://cr.openjdk.java.net/~stefank/8152100/logs.00/gctracetimer.serial.info.txt
http://cr.openjdk.java.net/~stefank/8152100/logs.00/gctracetimer.serial.debug.txt
http://cr.openjdk.java.net/~stefank/8152100/logs.00/gctracetimer.serial.trace.txt

Parallel GC:
http://cr.openjdk.java.net/~stefank/8152100/logs.00/gctracetimer.parallel.off.txt
http://cr.openjdk.java.net/~stefank/8152100/logs.00/gctracetimer.parallel.info.txt
http://cr.openjdk.java.net/~stefank/8152100/logs.00/gctracetimer.parallel.debug.txt
http://cr.openjdk.java.net/~stefank/8152100/logs.00/gctracetimer.parallel.trace.txt

CMS with a Full GC:
http://cr.openjdk.java.net/~stefank/8152100/logs.00/gctracetimer.cms.off.txt
http://cr.openjdk.java.net/~stefank/8152100/logs.00/gctracetimer.cms.info.txt
http://cr.openjdk.java.net/~stefank/8152100/logs.00/gctracetimer.cms.debug.txt
http://cr.openjdk.java.net/~stefank/8152100/logs.00/gctracetimer.cms.trace.txt

CMS with a concurrent GC cycle:
http://cr.openjdk.java.net/~stefank/8152100/logs.00/gctracetimer.cms-conc.off.txt
http://cr.openjdk.java.net/~stefank/8152100/logs.00/gctracetimer.cms-conc.info.txt
http://cr.openjdk.java.net/~stefank/8152100/logs.00/gctracetimer.cms-conc.info.txt
http://cr.openjdk.java.net/~stefank/8152100/logs.00/gctracetimer.cms-conc.trace.txt

G1 with a Full GC:
http://cr.openjdk.java.net/~stefank/8152100/logs.00/gctracetimer.g1.off.txt
http://cr.openjdk.java.net/~stefank/8152100/logs.00/gctracetimer.g1.info.txt
http://cr.openjdk.java.net/~stefank/8152100/logs.00/gctracetimer.g1.debug.txt
http://cr.openjdk.java.net/~stefank/8152100/logs.00/gctracetimer.g1.trace.txt

G1 with a concurrent GC cycle:
http://cr.openjdk.java.net/~stefank/8152100/logs.00/gctracetimer.g1-conc.off.txt
http://cr.openjdk.java.net/~stefank/8152100/logs.00/gctracetimer.g1-conc.info.txt
http://cr.openjdk.java.net/~stefank/8152100/logs.00/gctracetimer.g1-conc.info.txt
http://cr.openjdk.java.net/~stefank/8152100/logs.00/gctracetimer.g1-conc.trace.txt

Thanks,
StefanK


More information about the hotspot-gc-dev mailing list