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.
To view JVM metrics:
- Go to one.newrelic.com > APM > (select an app) > Monitoring > JVMs > (select a JVM).
- From the selected JVM's Memory page, use any of New Relic's standard user interface functions to drill down into detailed information.
- To view other metrics, select any available tab.
- Optional: To use the thread profiler to look for bottlenecks in data on executing threads, select Profile this JVM.

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 | [check icon] | [check icon] | [check icon] | [check icon] | |
JBoss 5AS | [check icon] | [check icon] | [check icon] | [check icon] | |
JBoss 6AS | [check icon] | [check icon] | [check icon] | [check icon] | |
JBoss 6EAP | [check icon] | [check icon] | [check icon] | ||
JBoss 7AS | [check icon] | [check icon] | [check icon] | ||
Jetty | [check icon] | [check icon] | |||
Resin 3 | [check icon] | [check icon] | [check icon] | [check icon] | |
Resin 4 | [check icon] | [check icon] | [check icon] | [check icon] | [check icon] |
Tomcat | [check icon] | [check icon] | [check icon] | [check icon] | |
TomEE | [check icon] | [check icon] | [check icon] | ||
WebLogic | [check icon] | [check icon] | [check icon] | ||
Websphere Liberty | [check icon] | [check icon] | [check icon] | [check icon] | |
Websphere Traditional | [check icon] | [check icon] | [check icon] | ||
WildFly | [check icon] | [check icon] | [check icon] |
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 |
|
Threads |
|
HTTP sessions |
|
App server transactions |
|
Data sources |
The metrics for the data source tab vary by app server. For more details, see Data source metrics by app server. For details on WebLogic's data source metrics, see WebLogic JMX metrics. |
Data source metrics by app server
For supported app servers, the agent collects JMX data source metrics. You can view these metrics at one.newrelic.com > APM > (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 |
|
WebSphere Liberty |
|
Resin |
|
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.
- Enable all statistic sets (recommended)
-
The simplest approach is to enable the collection of all statistic sets:
- If you are using Java 2 Security, ensure you have granted New Relic proper permissions.
- From the WebSphere admin console, select Monitoring and Tuning > Performance Monitoring Infrastructure (PMI) > (your server name).
- Select the Enable Performance Monitoring Infrastructure (PMI) checkbox.
- In the Currently monitored statistic set section, select All, then save your changes.
- Enable custom statistic sets (advanced)
-
You can also collect only the PMI metrics that New Relic monitors by default. To collect only some PMI metrics:
- If you are using Java 2 Security, ensure you have granted New Relic proper permissions.
- 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.
- stats.ActiveCount
-
WebSphere PMI metrics Details Attribute stats.ActiveCount Object name pattern WebSphere:type=ThreadPool,name=*,process=*,platform=*,node=*,*
New Relic metric JmxBuiltIn/ThreadPool/WebContainer/Active
Type Simple - maximumSize
-
WebSphere PMI metrics Details Attribute maximumSize Object name pattern WebSphere:type=ThreadPool,name=*,process=*,platform=*,node=*,*
New Relic metric JmxBuiltIn/ThreadPool/WebContainer/Max
Type Simple - stats.CommittedCount
-
WebSphere PMI metrics Details Attribute stats.CommittedCount Object name pattern WebSphere:j2eeType=JTAResource,type=TransactionService,name=*,process=*,platform=*,node=*,*
New Relic metric JmxBuiltIn/JTA/TransactionService/Committed
Type Simple - stats.RolledbackCount
-
WebSphere PMI metrics Details Attribute stats.RolledbackCount Object name pattern WebSphere:j2eeType=JTAResource,type=TransactionService,name=*,process=*,platform=*,node=*,*
New Relic metric JmxBuiltIn/JTA/TransactionService/Rolled Back
Type Simple - stats.GlobalTimeoutCount
-
WebSphere PMI metrics Details Attribute stats.GlobalTimeoutCount Object name pattern WebSphere:j2eeType=JTAResource,type=TransactionService,name=*,process=*,platform=*,node=*,*
New Relic metric JmxBuiltIn/JTA/TransactionService/Timed Out
Type Simple - stats.LiveCount
-
WebSphere PMI metrics Details Attribute stats.GlobalTimeoutCount Object name pattern WebSphere:type=SessionManager,name=*,process=*,platform=*,node=*,*
New Relic metric JmxBuiltIn/Session/DefaultApplication#DefaultWebApplication.war/Active
Type Simple
WebLogic JMX metrics
In WebLogic, JMX is enabled by default. New Relic collects the following mbeans metrics.
To collect additional JMX metrics, use a custom YAML file.
- ThreadCount
-
WebLogic JMX metrics Details Attribute ThreadCount Object name pattern java.lang:type=Threading
New Relic metric JmxBuiltIn/Threads/Thread Count
Type Simple - TotalStartedThreadCount
-
WebLogic JMX metrics Details Attribute TotalStartedThreadCount Object name pattern java.lang:type=Threading
New Relic metric JmxBuiltIn/Threads/TotalStartedCount
Type Simple - LoadedClassCount
-
WebLogic JMX metrics Details Attribute LoadedClassCount Object name pattern java.lang:type=ClassLoading
New Relic metric JmxBuiltIn/Classes/Loaded
Type Simple - UnloadedClassCount
-
WebLogic JMX metrics Details Attribute UnloadedClassCount Object name pattern java.lang:type=ClassLoading
New Relic metric JmxBuiltIn/Classes/Unloaded
Type Simple - HoggingThreadCount
-
WebLogic JMX metrics Details Attribute HoggingThreadCount Object name pattern com.bea:ServerRuntime=*,Name=ThreadPoolRuntime,Type=ThreadPoolRuntime
New Relic metric JmxBuiltIn/ThreadPool/{Name}/Active
Type Simple - ExecuteThreadIdleCount
-
WebLogic JMX metrics Details Attribute ExecuteThreadIdleCount Object name pattern com.bea:ServerRuntime=*,Name=ThreadPoolRuntime,Type=ThreadPoolRuntime
New Relic metric JmxBuiltIn/ThreadPool/{Name}/Idle
Type Simple - StandbyThreadCount
-
WebLogic JMX metrics Details Attribute StandbyThreadCount Object name pattern com.bea:ServerRuntime=*,Name=ThreadPoolRuntime,Type=ThreadPoolRuntime
New Relic metric JmxBuiltIn/ThreadPool/{Name}/Standby
Type Simple - TransactionTotalCount
-
WebLogic JMX metrics Details Attribute TransactionTotalCount Object name pattern com.bea:ServerRuntime=*,Name=JTARuntime,Type=JTARuntime
New Relic metric JmxBuiltIn/JTA/{Name}/Count
Type Monotonic - TransactionCommittedTotalCount
-
WebLogic JMX metrics Details Attribute TransactionCommittedTotalCount Object name pattern com.bea:ServerRuntime=*,Name=JTARuntime,Type=JTARuntime
New Relic metric JmxBuiltIn/JTA/{Name}/Committed
Type Monotonic - TransactionRolledBackTotalCount
-
WebLogic JMX metrics Details Attribute TransactionRolledBackTotalCount Object name pattern com.bea:ServerRuntime=*,Name=JTARuntime,Type=JTARuntime
New Relic metric JmxBuiltIn/JTA/{Name}/Rolled Back
Type Monotonic - TransactionAbandonedTotalCount
-
WebLogic JMX metrics Details Attribute TransactionAbandonedTotalCount Object name pattern com.bea:ServerRuntime=*,Name=JTARuntime,Type=JTARuntime
New Relic metric JmxBuiltIn/JTA/{Name}/Abandoned
Type Monotonic - NumAvailable
-
WebLogic JMX metrics Details Attribute NumAvailable Object name pattern com.bea:ServerRuntime=*,Name=*,Type=JDBCDataSourceRuntime
New Relic metric JmxBuiltIn/DataSources/{Name}/Connections/Available
Type Simple - CurrCapacity
-
WebLogic JMX metrics Details Attribute CurrCapacity Object name pattern com.bea:ServerRuntime=*,Name=*,Type=JDBCDataSourceRuntime
New Relic metric JmxBuiltIn/DataSources/{Name}/Connections/PoolSize
Type Simple - ConnectionsTotalCount
-
WebLogic JMX metrics Details Attribute ConnectionsTotalCount Object name pattern com.bea:ServerRuntime=*,Name=*,Type=JDBCDataSourceRuntime
New Relic metric JmxBuiltIn/DataSources/{Name}/Connections/Created
Type Monotonic - ActiveConnectionsCurrentCount
-
WebLogic JMX metrics Details Attribute ActiveConnectionsCurrentCount Object name pattern com.bea:ServerRuntime=*,Name=*,Type=JDBCDataSourceRuntime
New Relic metric JmxBuiltIn/DataSources/{Name}/Connections/Active
Type Simple - LeakedConnectionCount
-
WebLogic JMX metrics Details Attribute LeakedConnectionCount Object name pattern com.bea:ServerRuntime=*,Name=*,Type=JDBCDataSourceRuntime
New Relic metric JmxBuiltIn/DataSources/{Name}/Connections/Leaked
Type Monotonic - PrepStmtCacheCurrentSize
-
WebLogic JMX metrics Details Attribute PrepStmtCacheCurrentSize Object name pattern com.bea:ServerRuntime=*,Name=*,Type=JDBCDataSourceRuntime
New Relic metric JmxBuiltIn/DataSources/{Name}/Statement Cache/Size
Type Simple - WaitingForConnectionCurrentCount
-
WebLogic JMX metrics Details Attribute WaitingForConnectionCurrentCount Object name pattern com.bea:ServerRuntime=*,Name=*,Type=JDBCDataSourceRuntime
New Relic metric JmxBuiltIn/DataSources/{Name}/Requests/Currently Waiting
Type Simple - WaitingForConnectionTotal
-
WebLogic JMX metrics Details Attribute WaitingForConnectionTotal Object name pattern com.bea:ServerRuntime=*,Name=*,Type=JDBCDataSourceRuntime
New Relic metric JmxBuiltIn/DataSources/{Name}/Requests/Count
Type Monotonic - WaitingForConnectionSuccessTotal
-
WebLogic JMX metrics Details Attribute WaitingForConnectionSuccessTotal Object name pattern com.bea:ServerRuntime=*,Name=*,Type=JDBCDataSourceRuntime
New Relic metric JmxBuiltIn/DataSources/{Name}/Requests/Successful
Type Monotonic - WaitingForConnectionFailureTotal
-
WebLogic JMX metrics Details Attribute WaitingForConnectionFailureTotal Object name pattern com.bea:ServerRuntime=*,Name=*,Type=JDBCDataSourceRuntime
New Relic metric JmxBuiltIn/DataSources/{Name}/Requests/Failed
Type Monotonic - AccessTotalCount - MissTotalCount
-
WebLogic JMX metrics Details Attribute AccessTotalCount - MissTotalCount Object name pattern com.bea:ServerRuntime=*,Name=*,ApplicationRuntime=*,Type=EJBPoolRuntime,EJBComponentRuntime=*,*
New Relic metric JmxBuiltIn/EJB/Pool/Bean/{ApplicationRuntime}/{EJBComponentRuntime}/{Name}/Attempts/Successful
Type Monotonic - MissTotalCount
-
WebLogic JMX metrics Details Attribute MissTotalCount Object name pattern com.bea:ServerRuntime=*,Name=*,ApplicationRuntime=*,Type=EJBPoolRuntime,EJBComponentRuntime=*,*
New Relic metric JmxBuiltIn/EJB/Pool/Bean/{ApplicationRuntime}/{EJBComponentRuntime}/{Name}/Attempts/Failed
Type Monotonic - WaiterCurrentCount
-
WebLogic JMX metrics Details Attribute WaiterCurrentCount Object name pattern com.bea:ServerRuntime=*,Name=*,ApplicationRuntime=*,Type=EJBPoolRuntime,EJBComponentRuntime=*,*>
New Relic metric JmxBuiltIn/EJB/Pool/Bean/{ApplicationRuntime}/{EJBComponentRuntime}/{Name}/Threads/Waiting
Type Simple - DestroyedTotalCount
-
WebLogic JMX metrics Details Attribute DestroyedTotalCount Object name pattern com.bea:ServerRuntime=*,Name=*,ApplicationRuntime=*,Type=EJBPoolRuntime,EJBComponentRuntime=*,*
New Relic metric JmxBuiltIn/EJB/Pool/Bean/{ApplicationRuntime}/{EJBComponentRuntime}/{Name}/Beans/Destroyed
Type Monotonic - BeansInUseCurrentCount
-
WebLogic JMX metrics Details Attribute BeansInUseCurrentCount Object name pattern com.bea:ServerRuntime=*,Name=*,ApplicationRuntime=*,Type=EJBPoolRuntime,EJBComponentRuntime=*,*
New Relic metric JmxBuiltIn/EJB/Pool/Bean/{ApplicationRuntime}/{EJBComponentRuntime}/{Name}/Beans/Active
Type Simple - PooledBeansCurrentCount
-
WebLogic JMX metrics Details Attribute PooledBeansCurrentCount Object name pattern com.bea:ServerRuntime=*,Name=*,ApplicationRuntime=*,Type=EJBPoolRuntime,EJBComponentRuntime=*,*
New Relic metric JmxBuiltIn/EJB/Pool/Bean/{ApplicationRuntime}/{EJBComponentRuntime}/{Name}/Beans/Available
Type Simple - TransactionsCommittedTotalCount +TransactionsRolledBackTotalCount +TransactionsTimedOutTotalCount
-
WebLogic JMX metrics Details Attribute TransactionsCommittedTotalCount +TransactionsRolledBackTotalCount +TransactionsTimedOutTotalCount Object name pattern com.bea:ServerRuntime=*,Name=*,ApplicationRuntime=*,Type=EJBTransactionRuntime,EJBComponentRuntime=*,*
New Relic metric JmxBuiltIn/EJB/Transactions/Application/{ApplicationRuntime}/Count
Type Monotonic - TransactionsCommittedTotalCount
-
WebLogic JMX metrics Details Attribute TransactionsCommittedTotalCount Object name pattern com.bea:ServerRuntime=*,Name=*,ApplicationRuntime=*,Type=EJBTransactionRuntime,EJBComponentRuntime=*,*
New Relic metric JmxBuiltIn/EJB/Transactions/Application/{ApplicationRuntime}/Committed
Type Monotonic - TransactionsRolledBackTotalCount
-
WebLogic JMX metrics Details Attribute TransactionsRolledBackTotalCount Object name pattern com.bea:ServerRuntime=*,Name=*,ApplicationRuntime=*,Type=EJBTransactionRuntime,EJBComponentRuntime=*,*
New Relic metric JmxBuiltIn/EJB/Transactions/Application/{ApplicationRuntime}/Rolled Back
Type Monotonic - TransactionsTimedOutTotalCount
-
WebLogic JMX metrics Details Attribute TransactionsTimedOutTotalCount Object name pattern com.bea:ServerRuntime=*,Name=*,ApplicationRuntime=*,Type=EJBTransactionRuntime,EJBComponentRuntime=*,*
New Relic metric JmxBuiltIn/EJB/Transactions/Application/{ApplicationRuntime}/Timed Out
Type Monotonic