BT

New Early adopter or innovator? InfoQ has been working on some new features for you. Learn more

Glassbox - Automated monitoring and troubleshooting using AOP

| by Floyd Marinescu on Sep 08, 2006. Estimated reading time: 2 minutes |
Glassbox is a production Java server monitoring solution built around AspectJ, released under LGPL.   The project is lead by Ron Bodkin who was among the initial group behind AspectJ. Glassbox made it's first public announcement yesterday with the release of Glassbox Automated Troubleshooter beta 2. Glassbox deployes as a war file to your appserver and then uses AspectJ load time weaving and to monitor application components and other artifacts,  in order to identify problems like excess or failed remote calls, slow queries, too many database queries, thread contention, even what request parameters caused failures. All this without changing the code or the build process.  InfoQ spoke to Ron Bodkin to get more information on this innovative use of aspect technology:
Glassbox monitors applications non-invasively by using aspects to track component interactions. We also monitor built-in JMX data, notably on a Java 5 VM we sample thread data (every 100 ms by default). As a request is processed, we summarize noteworthy events such as where time was spent and what parameters were involved in making things slow or fail. We also detect higher-level operations (such as Struts actions or Spring controllers) that we use to report on. Our AJAX Web client then provides summaries of status by operation on the machines being monitored and we generate a more detailed analysis on request. Glassbox allows monitoring clusters of servers: the Web app uses JMX Remote or direct RMI to access data from remote servers. We also provide JMX remote access to the lower-level summary statistics.
Glassbox uses Aspects to monitor common components and to capture context data such as request parameters and correlating connection URL’s with subsequent JDBC operations. They are also using aspects internally, such as their error isolation aspect that "prevents exceptions in our monitoring from escaping to cause failures in the monitored application."  
Load-time weaving has a great plug-in architecture so it’s easy to extend Glassbox analysis to monitor additional components either by configuring XML or by writing a small amount of AspectJ code, then building a jar file that you deploy in addition to the standard Glassbox monitor jar.
Glassbox is not trying to be a general purpose monitoring or reporting tool or to compete with various leading performance monitoring and correlation systems. Many other systems focus on storing large production datasets for analysis and correlation, allowing play-back of production transactions with traceability from the browser down to the database.  

Glassbox is available under LGPL, making it freely usable and embeddable as a component. The business model is to sell consulting, training and support services to those who are successfully using the technology.

Rate this Article

Adoption Stage
Style

Hello stranger!

You need to Register an InfoQ account or or login to post comments. But there's so much more behind being registered.

Get the most out of the InfoQ experience.

Tell us what you think

Allowed html: a,b,br,blockquote,i,li,pre,u,ul,p

Email me replies to any of my messages in this thread

Small Clarification by Ron Bodkin

I wanted to clarify how Glassbox supports monitoring. We do provide focused application monitoring and management capabilities, however we don't provide systems monitoring (i.e., we don't provide network or OS level monitoring). We seek to integrate with tools like Hyperic and Open View to contribute to overall monitoring. Likewise, we aren't a profiler.

Likewise, we do capture transaction trace detail but our goal is to provide processed information to resolve issues instead of asking the user to sift through large amounts of data to determine what's going on. Indeed, we're planning to extend Glassbox to provide user-specific analysis by tracing requests in a session to help resolve issues that a single user is facing.

Allowed html: a,b,br,blockquote,i,li,pre,u,ul,p

Email me replies to any of my messages in this thread

Allowed html: a,b,br,blockquote,i,li,pre,u,ul,p

Email me replies to any of my messages in this thread

1 Discuss

Login to InfoQ to interact with what matters most to you.


Recover your password...

Follow

Follow your favorite topics and editors

Quick overview of most important highlights in the industry and on the site.

Like

More signal, less noise

Build your own feed by choosing topics you want to read about and editors you want to hear from.

Notifications

Stay up-to-date

Set up your notifications and dont miss out on content that matters to you

BT