RFR: Record Shenandoah events in hs_err events section + capture degen GC in status line
Aleksey Shipilev
shade at redhat.com
Thu Feb 22 17:59:06 UTC 2018
http://cr.openjdk.java.net/~shade/shenandoah/hserr-events/webrev.01/
This improves hs_err that we get during the errors, in two ways:
rev 49078 : Capture degenerated GC in hs_err status line
rev 49079 : Record Shenandoah events in hs_err events section
The code could be a little better, if we ever used the *Mark object, but it is not very easy to do,
because GCTraceTime is actually the macro-definition, not the class. Something to clean up later.
Excerpt from the artificially induced hs_err is below. It basically allows to reconstruct the entire
GC cycle without having the GC log:
---- 8< -------------------------------------------------------------------------------------
Status: marking, degenerated gc, conc gc cancelled
...
Events (250 events):
...
Event: 0.922 Executing VM operation: ShenandoahInitMark
Event: 0.923 Pause Init Mark
Event: 0.931 Pause Init Mark done
Event: 0.931 Executing VM operation: ShenandoahInitMark done
Event: 0.931 Concurrent marking
Event: 0.934 Concurrent marking done
Event: 0.934 Executing VM operation: ShenandoahFinalMarkStartEvac
Event: 0.953 Pause Final Mark
Event: 0.965 Pause Final Mark done
Event: 0.965 Executing VM operation: ShenandoahFinalMarkStartEvac done
Event: 0.965 Concurrent cleanup
Event: 0.975 Concurrent cleanup done
Event: 0.975 Concurrent cleanup
Event: 0.984 Concurrent cleanup done
Event: 0.994 Executing VM operation: ShenandoahInitMark
Event: 0.994 Pause Init Mark
Event: 1.003 Pause Init Mark done
Event: 1.003 Executing VM operation: ShenandoahInitMark done
Event: 1.003 Concurrent marking (unload classes)
Event: 1.006 Thread 0x000015307c439000 Cancelling concurrent GC: Allocation Failure
Event: 1.007 Concurrent marking (unload classes) done
Event: 1.020 Executing VM operation: ShenandoahDegeneratedGC
Event: 1.020 Pause Degenerated GC (Mark)
---- 8< -------------------------------------------------------------------------------------
Testing: hotspot_gc_shenandoah
Thanks,
-Aleksey
More information about the shenandoah-dev
mailing list