The Java Virtual Machine (JVM) is an integral part of your Java application. That's why you need a strategy for JVM management and monitoring in production. What will you do if JVM performance flags? How will you be alerted to issues that come up in the middle of the night? In order to ensure the performance of your app, you need JVM monitoring tools that can run in production.
AppDynamics automatically discovers and monitors application code running on your JVMs and provides deep visibility into how it executes in production. This enables you to understand where latency is spent and how system resources like CPU and memory are consumed by an application and business transactions.
AppDynamics can auto-discover business transactions from common entry points into your JVM such as servlets, struts actions, spring MVC, web services calls and even custom POJO entry points. From this context you can see how business transactions execute through various Java components like SOAP, EJB, JDBC, JMS, and CICS, allowing you to monitor JVMs from a high level.
AppDynamics also provides dynamic SLA base-lining and pro-active alerting so that performance issues can be notified as they surface, giving application and production support teams an early warning before end user experience and service levels start to breach.
AppDynamics also provides the user with visibility of heap usage, garbage collection and utilization of key memory pools over-time. AppDynamics can also track and monitor memory leaks automatically inside the JVM with minimal user analysis allowing root cause to be found in minutes instead of days or weeks.
AppDynamics can collect and report all application run-time exceptions that are thrown inside the JVM server. This provide users with visibility of stack traces that are thrown when business transactions and user requests timeout or fail.
AppDynamics can also detect both slow SQL statements and NoSQL query latency with full visibility into SQL text and NOSQL queries like Cassandra Thrift and MongoDB BSON. Like JMX monitoring tools, you can also use AppDynamics to monitor the size of the database connection pool and other JMX metrics to better understand how your application interacts with the database.
While there are many free JVM monitoring tools, many of them are difficult to use and incur too much overhead to be suitable for a production environment. With AppDynamics you can monitor JVM health and performance in a live production environment without having to worry about affecting end user experience.