JavaOne2007 Hands-On Lab 1420
My colleagues Paul Cheung, Luis-Miguel Alventosa and myself together developed, and presented for, this year's JavaOne Hands-On Lab (HOL) 1420 on "Non-instrusive Monitoring and Troubleshooting of Java Applications using Java Management Extension (JMX), JConsole and Aspect-Oriented Programming (AOP)" at Moscone Center, San Francisco. This lab session consists of two main parts :
- deployment and monitoring of a sample Spring Web MVC application using Glassbox, all running on GlassFish - with monitored metrics presented both via (a) Glassbox's AJAX-based Web Client, and (b) JConsole Plugin to do real-time derivation on collected JMX metrics from Glassbox and dynamic charting
- troubleshooting of Java application using JConsole
The technologies we demonstrated include:
- Spring Framework 2.0 Support Module for NetBeans
- Spring Application and Glassbox deployed on GlassFish
- JConsole Plugin which really expanded the capabilities of standard JConsole to enable dynamic charting and visualisation of operation executions
We are also very glad to have the support during development of the lab contents, as well as the presence, short speech, and blog by Ron Bodkin, creator of Glassbox and CTO of Glassbox Corporation, during this JavaOne lab session.
We had a full registration of ~140 attendees, and hope everybody had enjoyed the lab. And of course, I'd like to thank all our attendees for coming and our colleagues who had supported and helped us during the whole cycle of the lab contents development and delivery.
Links and Resources
Please find our JavaOne lab session abstract and instructions [to be updated with the latest lab instructions used at JavaOne (which further enable Glassbox's JDBC connections and statements execution monitoring on GlassFish) probably in 1-2 weeks' time], and the following resource links for more information:
- Java Management Extensions (JMX)
- Luis' Blog: Per-thread CPU Usage JConsole Plugin
- JFreeChart Java chart library
- Spring Framework
- Glassbox Inspector
- Eamonn's Blog: Excellent article by Ron Bodkin about using AspectJ and JMX technologies for monitoring
- Google Video on GlassBox Troubleshooting
Note: The non-instrusive monitoring and metrics collection mechanism itself (using AOP and potentially Java Annotations) is an interesting and elaborated topic.
Some screen shots?
Visual presentations are usually more impacting, so I enclose the following screen captures....
Sample Glassbox AJAX-based Web Client screen capture highlighting "SLOW" operation of the SimpleSpringApp ("Hands-On Lab Spring") application (Web Client upper portion) with analysis (Web Client lower porton) at our lab session :
Sample screen capture showing metrics of monitored operations displayed in JavaSE 7 JConsole (with tabular navigation of children entries and the attributes of each child entry, shown in 'Attribute value' window on the right) :
"Simple Execution Time Trend Analyzer" JConsole Plugin displaying real-time derived "Last Sample Request CPU Time" against time elapsed