Gorilla Logic has released MonkeyWrench, an open-source tool for Java profiling and tuning. A Swing-based solution, MonkeyWrench takes advantage of Java’s management interface and instrumentation hooks enabling developers to collect and analyze a wide array of information in order to focus efforts for the greatest performance returns.
Enabling a user to utilize well-defined Java APIs, MonkeyWrench’s Swing interface makes profiling an application simple and allows a user to:
- Collect CPU and wall-clock statistics at the class constructor and method level for the classes selected, with detailed information on the stack trace signatures and threads involved with each constructor or method;
- Monitor object creation, also with associated stack trace signatures and associated threads;
- Monitor all threads in the target application, focusing on those with the most CPU time (either in a window or cumulative);
- Monitor thread contention and deadlocks, all sampled at user defined timer intervals;
- Graphically monitor the real-time behavior of the JVM garbage collectors, viewing both the number of collections and the total time consumed collecting, also sampled at user defined intervals.
MonkeyWrench can be launched at target launch time, or, for HotSpot JVMs, a MonkeyWrench launcher application can be used to locate and attach to already running JVMS. With MonkeyWrench, a user has a single point of access to information normally collected from multiple applications. Also, as an open-source solution, MonkeyWrench allows users to customize it to provide only the information they want, making the tool specific to their unique needs.