Terracotta-VisualVM Integration Offers Cluster-wide Visualization and Event Correlation
Terracotta integration with Sun Microsystem's VisualVM tool offers cluster-wide visualization and JVM event correlation features to provide insight into the behavior of Java applications. Terracotta announced last week its integration with VisualVM technology which gives developers and web administrators visualization and analysis capabilities to assist in tuning and troubleshooting of Java applications using Terracotta management console.
"VisualVM and Terracotta are a natural fit. VisualVM provides in-depth analysis of the virtual machine and Terracotta provides key information on cross-cluster issues" said Ari Zilka, CTO and co-founder of Terracotta. Ari did a presentation at JavaOne 2008 conference about the visualization support in Terracotta. He talked about how visualization lets the developers see what to optimize in Java cluster applications where the load is spread across several JVMs.
Terracotta added cluster-wide monitoring and visualization module with the release of version 2.6 of the product back in April. The visualization module helps in tuning and visibility of a Java application by providing run-time statistics like Java heap, system CPU, Thread Dumps, Terracotta Queue Depths, and Transactions. These statistics on the operation of Terracotta server are exposed via JMX and REST.
VisualVM is a graphical tool that allows developers to obtain debugging information about multiple Java software applications while they are running locally or on remote machines. It can be used for monitoring the application threads, analyzing core dumps, snapshots, and heap dumps. With JConsole plug-in, VisualVM can be used for connecting to JMX Agents and viewing the details of MBeans in Java applications. The tool can also be used for profiling applications. VisualVM is now included as part of Java Platform Standard Edition (Java SE) Version 6 Update 7.
InfoQ spoke with Jeff Hartley, VP of Marketing and Products about the integration of Terracotta with VisualVM and the future road map of Terracotta visualization module. InfoQ asked what the new integration means to Java developers, in the areas of building, testing and tuning of java applications.
Terracotta and Sun collaborated to develop a VisualVM plug-in with one common goal in mind, to provide developers and operators a single source for enhanced visualization and control of their applications. This gives developers insight into cluster operations that is both deep and wide. Deep because Sun's VisualVM can look inside an individual JVM, and wide since Terracotta can provide information about how data is being exchanged between JVMs in the cluster.
Speaking of how Terracotta and VisualVM combination can be used for JVM event correlation, Jeff said:
The Terracotta VisualVM plugin provides a cluster-wide view of various statistics, including memory, CPU utilization, and transaction rate. Using the tool, you can monitor in real-time the memory and cpu utilization of the machines participating in the cluster. For example, if a particular machine's transaction rate drops, the developer or operator can analyze the other statistics to see if the problem is due to something like a local garbage collection cycle causing resource starvation, or some other event.
Can you elaborate on what kind of information and statistics Terracotta VisualVM plug-in provides for monitoring and troubleshooting of cross-cluster issues.
It provides an operator console with a centralized view on a host of real-time statistics for each machine in the cluster including memory, cpu, transaction rate, cache hit rate, and object flush and fault rates. It also provides access to meta-information about each node, such as environment data and configuration data. This capability complements the statistics we offer in our core product, like all of the Terracotta internal pipeline statistics, as well as a cluster lock profiler to help debug performance issues related to hot locks, lock node-hopping, and object swapping and churn. We're also planning cluster-wide deadlock detector to discover concurrency bugs in application code.
Regarding the future direction of Terracotta and Sun relationship, he said:
We're working with Sun in a couple of ways right now, generally in technical collaboration, both on the VisualVM side and in providing support for the Glassfish app server; so Glassfish users can cluster their apps with Terracotta as easily as those who are running Tomcat, Jetty, and WebLogic. Of course we also support the HotSpot JVM.
The Snapshot Visualization Tool (SVT) from Terracotta allows the developers to record the snapshots and see the statistics like CPU, memory usage, disk activity, Terracotta statistics (SEDA Queue Depths, L1 L2 Fault Flush etc). SVT is available for download from Terracotta web site (requires user registration for the download).