Microsoft’s Java Engineering Group has announced the open source availability of GCToolkit, a set of libraries for analyzing Java garbage collection (GC) log files.
According to the introduction, the GCToolkit toolkit parses GC log files into discrete events and provides an API for aggregating data from these events, enabling users to perform arbitrarily complex analyses of the state of managed memory in the Java Virtual Machine (JVM) as represented by garbage collection logs.
GCToolkit consists of 3 Java modules covering the API, the GC log file parser and the messaging backplane
based on Vert.x
.
The API module is the entry point for GCToolkit; it hides the details of using the parser and Vert.x to analyze GC log files in a few method calls. The parser module is a collection of regular expressions and code; Microsoft, for its part, says it has become the most powerful GC log parser over the years.
The messaging backplane
based on Vert.x
uses 2 message busses, the first one from the data source. The listener on this bus is a parser that converts data from the data source into events that represent GC cycles or safety points. These events are then posted on the event bus, and listeners on the event bus are able to receive and process the events they are interested in.
GCToolkit also provides a simple aggregator/aggregation framework for capturing and analyzing GC log file data.
According to Microsoft Kirk, a poorly configured collector can cause your application to require more CPU and memory, while degrading your end-user experience. “The challenge is that optimally tuning GC requires creating a delicate balance between several concerns, all of which are not easily visible without the help of tools. and GCToolKit helps make this easier.”
For more details, please check the official blog.