With APM Insight Java agent, you can track Java Management Extensions (JMX) metrics. Although we monitor and enhance application performance using transaction metrics and traces, it is equally important to monitor the environment where your application is running. Moreover, monitoring JMX metrics helps you gain additional insights.
By default, JMX metrics are captured from APM Insight Java agent version 5.1, and can be viewed under App Parameters tab. Since JMX metrics are specific to app servers, metrics captured by default in various servers are listed below.
| Metrics | Tomcat | JBoss AS | WildFly | GlassFish | WebLogic | WebSphere AS | WebSphere Liberty profile | Jetty |
|---|---|---|---|---|---|---|---|---|
| Session | ![]() | ![]() | ![]() | ![]() | ![]() | ![]() | ![]() | ![]() |
| Data Source | ![]() | ![]() | ![]() | ![]() | ![]() | ![]() | ![]() | ![]() |
| Thread pool | ![]() | ![]() | ![]() | ![]() | ![]() | ![]() | ![]() | ![]() |
| Transactions (JTA) | ![]() | ![]() | ![]() | ![]() | ![]() | ![]() | ![]() | ![]() |
| Buffer Pool | ![]() | ![]() | ![]() | ![]() | ![]() | ![]() | ![]() | ![]() |
| File Descriptor Count | ![]() | ![]() | ![]() | ![]() | ![]() | ![]() | ![]() | ![]() |
To enable capturing of JMX metrics, follow the steps given below:
.
If you do not want to monitor JMX Metrics you can disable the Capture JMX metrics checkbox under the APM tab → Your application → Action → Edit → APM Insight Application Configuration Profile → Background transactions.
Apart from the default metrics, you can also capture additional metrics by following the below given steps:
Add the JMX query in the following format:
<Query_Name><Name_of_Metric><Comma_separated_Attributes>Examples:
1. java.lang:type=OperatingSystemjava.lang-OperatingSystemOpenFileDescriptorCount
Agent monitors attribute OpenFileDescriptorCount and it will be named as java.lang-OpenFileDescriptorCount
2. java.nio:type=BufferPool,name=*java.nio-BufferPool-{name}MemoryUsed, TotalMemory
The result of above query is that the agent monitors all the beans under the Buffer Pool, and will monitor the attributes memory used and total memory. This will be named as java.nio-BufferPool-Direct-MemoryUsed, etc.
Note: Spaces in the query name should be escaped with a backslash (\) before them so that the agent can properly parse the entire query string. In the below example, the whitespace between Pool and (HikariPool-1) has been escaped because "Pool (HikariPool-1)" is a complete name in itself.
com.zaxxer.hikari:type=Pool\ (HikariPool-1) com.zaxxer.hikari.PoolActiveConnections, TotalConnections
If you do not want to monitor JMX metrics, you can disable the Capture JMX metrics checkbox under Configuration Profile → Edit APM agent configuration profile → Background transactions.
Thank you for your feedback!
It allows us to track crucial metrics such as response times, resource utilization, error rates, and transaction performance. The real-time monitoring alerts promptly notify us of any issues or anomalies, enabling us to take immediate action.
Reviewer Role: Research and Development