JVMs page (Java): View app server metrics from JMX
You can use New Relic's Java agent to collect and view additional metrics provided by the most common application servers via JMX. The collected metrics vary by app server and include measurements of thread pools, HTTP sessions, and transactions.
View JVM metrics
Application servers collect and report different metrics, which appear on APM's JVMs page. (For applications using New Relic via Heroku, the JVMs page is named Instances.)
At a minimum, each app server collects and reports metric data on memory. For instructions on enabling JMX metrics, refer to your app server's documentation.
Optional: To use the thread profiler to look for bottlenecks in data on executing threads, select Profile this JVM.
one.newrelic.com > All capabilities > APM & services > (select an app) > Monitoring > JVMs: Depending on the metrics your app server is reporting, one or more tabs appear on your JVM page.
Tabs available by app server
This table lists which tabs appear on the JVM page for app servers. If your app server does not report a particular type of metric data, the tab does not appear on your JVM page.
App server
Memory
Thread pools
HTTP sessions
App server transactions
Data sources
Glassfish
JBoss 5AS
JBoss 6AS
JBoss 6EAP
JBoss 7EAP
JBoss 7AS
Jetty
Resin 3
Resin 4
Tomcat
TomEE
WebLogic
Websphere Liberty
Websphere Traditional
WildFly
Metrics available by tab
Here is a summary of the metrics available from the JVM page. If the app server does not support a particular metric, that tab does not appear on your JVM page.
JMX
Metric charts
Memory
Heap memory usage: Each chart shows the used and committed heap space in MB for a given heap.
Non-heap memory pool usage for the JVM: The used code cache and used CMS Perm Gen in MB.
Garbage collection: The garbage collection CPU time.
Class count: The loaded and unloaded class count for the JVM.
Threads
Thread count: The current number of active threads in the JVM.
Thread pool: The active and idle thread count for the pool. On supported app servers, a chart shows each thread pool present in the app server, as well as the ratio of active to maximum thread count for each thread pool.
HTTP sessions
Session: The active, invalidated by timeout, and invalidated HTTP session counts for the application. On supported app servers, a chart shows each application present in the app server.
App server transactions
Active transaction: The number of active transactions within the app server's transaction manager.
Created transaction: The change in the total number of created transactions per app server. Some app servers separate top level transactions and nested transactions.
Finished transaction: The change in the total number of finished transactions per app server. Some app servers separate them by aborted and committed completed transactions.
For supported app servers, the agent collects JMX data source metrics. You can view these metrics at one.newrelic.com > All capabilities > APM & services > (select an app) > Monitoring > JVMs > Data sources. To see these metrics, ensure that your data source has been properly configured for JMX monitoring for your app server.
App server
Metrics
Tomcat
Max connections: The maximum connections available for a data source. This is generally a configurable parameter.
Active connections: The current number of active connections in a data source.
Idle connections: The current number of idle connections in a data source.
WebSphere Liberty
Max connections: The maximum connections available for a data source. This is generally a configurable parameter.
Active connections: The current number of active connections in a data source.
Idle connections: The current number of idle connections in a data source.
Wait time: The average amount of time a connections needs to wait before being handled.
Destroyed connections: The number of destroyed connections.
Resin
Max connections: The maximum connections available for a data source. This is generally a configurable parameter.
Active connections: The current number of active connections in a data source.
Idle connections: The current number of idle connections in a data source.
Created connections: The number of created connections.
Enable for Spring Boot 2.2 and higher with Tomcat
To enable New Relic to access Tomcat JMX metrics when running with Spring Boot 2.2 and higher, the system property server.tomcat.mbeanregistry.enabled must be set to true. See the Spring Boot 2.2 release notes.
Enable WebSphere PMI metrics
To enable New Relic to access WebSphere PMI metrics, you will need to configure WebSphere to monitor the necessary statistic sets.
The simplest approach is to enable the collection of all statistic sets:
From the WebSphere admin console, select Monitoring and Tuning > Performance Monitoring Infrastructure (PMI) > (selected app server).
Select the Enable Performance Monitoring Infrastructure (PMI) checkbox.
Select Custom. From the custom statistic set list, enable the following metrics:
In the ThreadPool category, select the ActiveCount and PoolSize checkboxes.
In the Servlet Session Manager category, select the ActiveCount and LiveCount checkboxes.
In the Transaction Manager category, select the CommittedCount, RolledbackCount, and GlobalTimeoutCount checkboxes.
From the Messages panel, select Save directly to the master configuration.
Collected WebSphere PMI metrics
When enabled, New Relic collects the following WebSphere PMI metrics. If you want other PMI metrics besides these to be collected and displayed in New Relic custom dashboards, use JMX instrumentation.