Java applications are predominantly used in enterprises today owing to their multi-platform nature. Once written, a Java application can be run on heterogeneous platforms with no additional configuration. This is why, the Java technology is widely used in the design and delivery of many critical web and non-web-based applications.

The prime concern of the administrators of these applications is knowing how well the application is functioning, and how to troubleshoot issues (if any) in the performance of these applications. Most web application server vendors prescribe custom APIs for monitoring – for instance, WebSphere and WebLogic allow administrators to use their built-in APIs for performance monitoring and problem detection..