Microsoft’s Java Engineering Group has open sourced the Microsoft GCToolkit on GitHub. GCToolkit, a set of libraries for analyzing Java garbage collection (GC) log files, parses GC log files into discrete events and provides an API for aggregating data from those events. This enables the user to create arbitrary and complex analyses of the state of managed memory in the Java Virtual Machine (JVM) represented by the garbage collection log.
Available on GitHub, the toolkit consists of 3 Java modules that cover the API, GC log file parsers, and a messaging backplane based on Vert.x.
“The parser emits discrete JVM events (GC cycle events or safe point events) which makes it possible to write code to capture and analyze the data from those events. What data you want to analyze and what kind of analysis you want to perform are up to you,” the company explained in a blog post.
GCToolkit provides a simple Aggregator/Aggregation framework for capturing and analyzing GC log file data.
Aggregator is the code that captures an event, while Aggregation is the code that analyzes the data. An Aggregator can capture several different events for the purpose of feeding the analysis.