GC Analyzer

Analysis of VerboseGC Traces

The Garbage Collection Analyzer (GCA) tool parses through verbosegc output of a Java virtual machine (JVM) in order to present it in a more meaningful way.


February 24, 2005 Posted GCA 0.4.0 - Added JDK 1.4.2 support, minor GUI enhancements, persistent user preferences remember which trace you viewed last, text summary displays beginning and ending trace times and percent GC.
February 11, 2005 Posted GCA 0.3.1 - Added JDK 1.4.1 support. This was trivial since 1.4.1 and 1.3.1 have same verbosegc format.
February 9, 2003 Posted GCA 0.3.0 - Added file browser to trace file entry field.
February 2, 2003 Posted GCA 0.2.1 - Patched a bug for cases where the number of data points exceeded the number of pixels.
January 10, 2003Posted GCA 0.2.0. - Now the verbosegc trace file and jdk type are specified through a GUI. It's still very rough though.
January 1, 2003Posted GCA 0.1.0. - This is the initial get-it-out-quick version. All options are specified at the command line.


gca.zip - JAR libraries plus API docs. About 190 KB.
gcasrc.zip - GCA source code. About 90 KB.


The GCA tool processes verbosegc output by storing the records internally to summarize them statistically. These summaries are referred to as views into the verbosegc. Presently there are only two views: a text summary and a graphical histogram. A sample text view is show below.


First GC time: Wed, Feb 09, 08:43:40 PST
Last GC time:  Wed, Feb 09, 12:34:11 PST
Total GCs: 395
Total GC Time: 27571 msec
Average GC Time: 69 msec
Percent GC Time: 0%
Compactions: 3
Max GC time: 112 msec on Wed Feb 09 10:49:48 PST 2005

A histogram from the same sample run looks like


The Future

Here are some features I'm either contemplating or working on.


If you have any questions about GCA, feel free to email me at "pglezen at us dot ibm dot com". I can't gaurantee a timely response since I work on this on my own time. But I am interested in feedback.