As some parts of the messaging software use java, we feel its important to give a summary of java tools that help in diagnosing some runtime issues. Micro broker is 100% java, WebSphere MQ client API is developed in java and there are parts of Message broker that is developed in java. There are situations when the messaging client or the server runs out of memory or start running very slow or gets into a deadlock. The problem might lay in the software that is developed on top of the messaging layer.
The first step is install the IBM Support Assistant. The support assistant tool is developed on top of expeditor platform and provides the user the ability to download and install the required tools. Its got the ability to update the tools also easily, hence enables you to worry less to managing these tools.
To get all the java related tools. Just go to Updates -> Find New -> Tools Add-on. You'll now be presented with a list of diagnostic tools for java under "JVM based tools". Its also good to download the "Tech Preview" tools also.
After installing them you can launch them using "Launch Activity" -> Analyze Problem -> Tools tab and choose a tool.
Here is a summary of tools:
- IBM Thread and Monitor Dump Analyzer - For analyzing dead locks, this is best tool. Its displays all the thread details from the java core. The tool clearly identifies the deadlocks. The ThreadAnalyzer can also be used for this.
- IBM Thread and Monitor Dump Analyzer - If your application is taking too much memory, you can generate a heap dump and analyze it with this tool. It even tells you the probable leak suspects.
- IBM Monitoring and Diagnostic Tools for Java™ - Garbage Collection and Memory Visualizer and IBM Pattern Modeling and Analysis Tool for Java Garbage Collector (PMAT) - Basically for the performance issues.You can also see the memory usage over time. It gives good recommendations so that you can change some JVM level garbage collection policies to suite your needs.
Health Center: The above tools are for post analysis. Here is a tool that would help in monitoring a running java application.
Neeraj Krishna and Vijay Raj K