Madhu Konda's Weblog
Java SE tools for Performance Analysis and debugging GlassFish
For effective performance analysis, it is very important that you can collect data and collect them consistently. For you to collect quality data, you need very good tools for monitoring the JVM. I am listing a collection of resources one can use to do their performance analysis job effectively.
If you are dealing with JVM Heap, Synchronization issues, etc., you can start using tools such as jConsole, jstack, jmap, etc. to obtain Monitoring, Management and Troubleshooting data from JVM. This tech notes is a good starting point (http://java.sun.com/javase/6/docs/technotes/tools/) for tools such as jvisualvm and jconsole. This lists all the tools available, but a Performance Engineer would be mostly interested in information under the section "Java Troubleshooting, Monitoring, Profiling..." and "Monitoring Tools".
Now with Java SE platform (JDK version 6 update 7), you can use VisualVM - http://java.sun.com/javase/6/docs/technotes/guides/visualvm/index.html since it is bundled with the platform. VisualVM incorporates a plug-in called VisualGC which gives you GC information in GUI for easy analysis. For more information on VisualVM, you can visit the development site (https://visualvm.dev.java.net). Apart from Visual GC, you can also use Profiler and Threads tabs for looking at profiling data and monitoring the thread stacks etc.
GChisto(https://gchisto.dev.java.net) is another visual tool you can use, which is under development, to get a good understanding of Tenuring etc. if you are only interested in GC histograms.
You can use VisualVM tool for debugging and analyzing GlassFish issues since GlassFish released a VisualVM plug-in that interacts with GlassFish and lets you monitor the GlassFish Application Server. If you want to get more creative, you can look into BTrace, and there is a BTrace Plugin for VisualVM called BTrace4VisualVM which you can play with..
Posted at 01:09PM Jul 28, 2009 by MADHU KONDA in Java |