Articles tagged MBeans

The views expressed in this blog are strictly personal, and do not necessarily represent the views of Evident Software.

By Bill Nigh

While venerable and valuable, JConsole does not offer historical metrics and trending; the field is open to a JConsole alternative. Evident Software is proud to offer such an alternative: its ClearStone application and server performance monitoring suite. Developers are no doubt familiar with JConsole, a tool first introduced with Java 5.0. Part of the JDK, JConsole is built with the Java Management Extensions (JMX) APIs of the java.lang.management API. Tapping directly into the internals of the JVM, this utility provides a wrapper around the JMX MBeans in any local or remote platform MBeanServer.

I recently had the opportunity to shoehorn an interview into the very busy schedule of Evident’s sprint project manager Tim Sneed about the ClearStone Management Pack for Java, the Evident JConsole alternative. Some tidbits:

The collection configuration utility in the administration console allows one to browse and connect to an MBean server, much like one can do with the standard JConsole. One salient difference, however—a difference that may be crucial for developers—is that charting custom MBeans is possible in ClearStone, whereas in JConsole it is not. Developers rightly are concerned with understanding the dynamics of an elastic and distributed ecosystem as much as possible; the advent and rapid rollout of Big Data technology puts a premium on being able to see and integrate metrics on every IT asset of significance (from back-end data stores to web request response times) within one monitoring platform.

With ClearStone, developers are able to see important metrics by exposing them through their own custom MBeans. Doing so provides developers with macro-to-micro visibility of their entire deployment stack to see how their application performs over time; who would ever turn down a greater and richer volume of wide-ranging metrics like this?

In addition to just passive capture, ClearStone is a worthy JConsole alternative in the fact that threshold detection and notification are available. For example, assume that you have been performing Jconsole heap dumps and Jconsole thread dumps. You constrain your app to never exceed 300 MB of heap. If that threshold is ever breached, an automatic email can be sent or an event logged (visible to ClearStone’s Event Viewer) to make it clear that some code has to be adjusted.

Another shortcoming of JConsole is the lack of historical perspective. Once the user exits JConsole, or if the target server is restarted for some unknown reason, all the previous stats are gone! imagine running JConsole for several days, then making that innocent mistake. Evident’s JConsole alternative offers history in addition to realtime information.

And how many instances of JConsole are sometimes needed to make proper sense of performance /stability/consistency in a testing environment? As native functionality ClearStone’s JConsole alternative offers the ability to create perspectives, with each perspective containing multiple charts.

ClearStone provides the perfect transition from ‘Dev’ to ‘Ops’ with its functionality and pricing models, making this the best ‘DevOps’ tool for monitoring your deployments.

In addition to its JMX-based Flex Management Pack for Java, Evident offers Management Packs for Oracle Coherence, Memcached, Cassandra, JBoss, and WebLogic. The new version, 5.0, soon to undergo Beta testing (see below for a sign-up link) will also support easy instrumenting via the RESTful Evident ODI (Open Data Interface); sample file formats are CSV and XML. The ODI option allows not only streaming of data but, in the future, support for synthetic event injection, which will empower the developer with incredible levels of details to encourage more informed decision-making.

Learn more about our performance monitoring solution for Custom JMX monitoring

By Bill Nigh

JConsole thread dump is one of the many useful options available in the popular and well-respected tool that is bundled with the JDK. The  venerable performance monitoring tool supports thread-related operations in its MBeans tab and the Operations node of the treeview menu.  JConsole thread dump is useful for dealing with deadlocks and other performance issues, one reason why JConsole has long been used to provide information about performance and resource consumption of applications in the JVM.

Evident’s ClearStone (ECS) compares quite favorably with JConsole, with a number of key differences which make it a good contender for a JConsole alternative:

  • First, ECS can show MBeans across multiple JVM’s simultaneously in one visualization. The benefit is fairly obvious: one multi-JVM view in our RealTime Dashboard,  vs. multiple JConsole windows on your desktop.
  • Second, ECS maintains history. JConsole’s history is in-memory and is lost when you exit JConsole or your JVM dies (which is usually exactly when you need the data).
  • Third, ECS allows for creation and sharing of custom perspectives; these perspectives can include metrics in multiple charts from multiple tiers of the ever-growing application stack.

Learn more about our performance monitoring solution for Java, NoSQL and web servers