This is the mail archive of the systemtap@sourceware.org mailing list for the systemtap project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: [RFC] Enhanced Garbage Collection Probe Points


* Mark Wielaard <mjw@redhat.com> [2012-08-07 07:50]:
[...]
> If you could post eventcount.stp with some comments that would be really
> helpful (even if it is just a work in progress) to better understand the
> "meaning" of the new probe points for a Garbage Collector noob like me.

Sure! I've added in comments below to the output I attached in the last
email. I've also attached the tapset/script I've written and have been
using with documentation.  For those of you using sytemtap, to use the
probe points, apply my original patch to icedtea, build, and then when
using stap, $stap -I /path/to/gc_details.stp <script.stp>

Finished event counting at Fri Aug  3 10:09:35 2012 EDT.
Total time elapsed: 1021574 ms, 63 events total, 63 after filtering.
TID                       EVENT                          COUNT (RATE Hz)
---                       -----                          ---------------
java(4998)                hotspot.gc_collect_parallel    1 (0.00)
^ This is a _full_ parallel collection of all objects from the program,
typically done when called explicitly with a System.gc() or at the end
of the program.  All of my collect type of probes also have a 'cause'
parameter for what initiated the gc.

java(5003)                hotspot.gc_collect_PSScavenge_begin 10 (0.00)
java(5003)                hotspot.gc_collect_PSScavenge_end 10 (0.00)
^ This marks the beginning and end of a parallel scavenge, I've marked
the beginning and end points in case there are concurrent parallel
scavenges going on.  (scavenges are partial garbage collections, so they
should happen much more often throughout the runtime of the program)

java(5003)                hotspot.gc_collect_delete      2 (0.00)
^ This is a marker of an actual deletion of an object, I need to get
better coverage of these types of statements, however its a starting point

java(5003)                hotspot.gc_collect_PSParallelCompact_end 2
(0.00)
^ This parallel compaction (and the matching begin below) is where a
compaction of an object space occurs, the tapset/script I'm using
(attached with documentation) will also note the cause

java(5003)                hotspot.gc_collect_test        1 (0.00)
^ This probe point should read gc_collect_parallel, I need to adjust it
within my tapset/script.
java(5003)                hotspot.gc_collect_move        3 (0.00)
^ This move probe shows when an object and its addresses are moved (It
will show the top/bottom of the old address space it occupied and the
new top/bottom addresses) 

java(5003)                hotspot.gc_collect_PSParallelCompact_begin 2
(0.00)
java(5077)                hotspot.gc_collect_PSScavenge_begin 5 (0.00)
java(5077)                hotspot.gc_collect_PSScavenge_end 5 (0.00)
java(5139)                hotspot.gc_collect_PSScavenge_end 2 (0.00)
java(5139)                hotspot.gc_collect_PSScavenge_begin 2 (0.00)
java(5330)                hotspot.gc_collect_PSScavenge_begin 4 (0.00)
java(5330)                hotspot.gc_collect_PSScavenge_end 4 (0.00)
java(5776)                hotspot.gc_collect_PSScavenge_end 1 (0.00)
java(5776)                hotspot.gc_collect_PSScavenge_begin 1 (0.00)
java(5827)                hotspot.gc_collect_PSScavenge_end 2 (0.00)
java(5827)                hotspot.gc_collect_PSScavenge_begin 2 (0.00)
java(5864)                hotspot.gc_collect_PSScavenge_end 2 (0.00)
java(5864)                hotspot.gc_collect_PSScavenge_begin 2 (0.00)

Attachment: gc_details.stp
Description: Text document

Attachment: pgp00000.pgp
Description: PGP signature


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]