All Products
Search
Document Center

Cloud Monitor:Java Application Instance Monitoring

Last Updated:Jun 03, 2026

After you install an agent for a Java application, Cloud Monitor 2.0 starts to monitor it. On the Instance Monitoring page, you can view the application's basic metrics, garbage collection (GC) details, and JVM memory information.

Prerequisites

The application must be connected to Cloud Monitor 2.0.

Try in Playground

Alibaba Cloud Playground provides a demo environment where you can experience the main features of Cloud Monitor 2.0.

  1. Visit the Playground Demo. You are logged on to a workspace by default.

  2. In the navigation pane on the left, choose Application Center > Application Observability > Application Monitoring.

  3. On the Applications page, click the name of the target application, and then in the navigation pane on the left, click Instance Monitoring.

View instance monitoring data

  1. Log on to the Cloud Monitor 2.0 console, and select a workspace. In the left navigation pane, choose Application Center > Application Observability > Application Insights.

  2. On the Applications page, click the name of the target application, and then in the navigation pane on the left, click Instance Monitoring.

Page overview

The Instance Monitoring page automatically adapts the dashboard based on your application's connection information, displaying different views for ECS and container environments.

In container scenarios, if you have connected to Managed Service for Prometheus, data from Managed Service for Prometheus is prioritized for displaying container information. For information about how to connect your container environment to Managed Service for Prometheus, see Container Observability.

If your container environment is not integrated with Managed Service for Prometheus, ensure that the Application Monitoring agent is version 4.1.0 or later to display basic container information. For details about agent versions, see Java Agent Version Notes.

ECS environment

  • In the quick filter area, you can filter the charts and the instance list by cluster and instance.

  • In the trend charts area, you can view time series for basic instance monitoring, instance GC, and JVM memory.

    • Basic instance monitoring: Displays trend charts for CPU, memory, and disk utilization over a specified time range. You can switch between average and maximum values from the drop-down list next to the chart title.

    • Instance GC: Displays trend charts for Full GC and Young GC over a specified time range. You can switch between the number of GCs and their average duration from the drop-down list next to the chart title.

    • JVM memory: Displays trend charts for used and maximum heap memory over a specified time range. You can switch to view the used and maximum non-heap memory from the drop-down list next to the chart title.

      Note

      Application Monitoring collects data from Java Management Extensions (JMX). The non-heap memory area reported by JMX is smaller than the actual non-heap memory area in the Java process. As a result, the sum of heap and non-heap memory in the monitoring data may differ from the Resident Set Size (RES) shown by the top command. For more details, see JVM memory monitoring details.

  • In the instance list area, you can view information such as instance IP, CPU utilization, memory utilization, disk utilization, load, number of Full GCs, number of Young GCs, heap memory utilization, non-heap memory utilization, and RED Method metrics (Rate, Errors, and Duration).

    In the instance list, you can perform the following operations:

    • Click an instance IP to view its details.

    • In the Actions column, click Traces to view the trace details for the instance.

Container (Prometheus)

  • In the quick filter area, you can filter the charts and instance list by cluster and host address.

  • In the trend charts area, you can view time series for basic instance monitoring, instance GC, and JVM memory.

    • Basic monitoring: Displays trend charts for CPU usage and memory usage over a specified time range.

    • Instance GC: Displays trend charts for Full GC and Young GC over a specified time range. You can switch between the number of GCs and their average duration from the drop-down list next to the chart title.

    • JVM memory: Displays trend charts for used and maximum heap memory over a specified time range. You can switch to view the used and maximum non-heap memory from the drop-down list next to the chart title.

      Note

      Application Monitoring collects data from Java Management Extensions (JMX). The non-heap memory area reported by JMX is smaller than the actual non-heap memory area in the Java process. As a result, the sum of heap and non-heap memory in the monitoring data may differ from the Resident Set Size (RES) shown by the top command. For more details, see JVM memory monitoring details.

  • In the instance list area, you can view information such as instance IP, CPU usage, CPU request, CPU limit, CPU utilization (displays as - if no CPU limit is set), memory usage, memory request, memory limit, memory utilization (displays as - if no memory limit is set), disk usage, disk limit, disk utilization (displays as - if no disk limit is set), load, number of Full GCs, number of Young GCs, heap memory utilization, non-heap memory utilization, and RED Method metrics (Rate, Errors, and Duration).

    In the instance list, you can perform the following operations:

    • Click an instance IP or click Details in the Actions column to view the instance details.

    • In the Actions column, click Traces to view the trace details for the instance.

Container (agent-based)

  • In the quick filter area, you can filter the charts and instance list by host address.

  • In the trend charts area, you can view time series for basic instance monitoring, instance GC, and JVM memory.

    • Basic monitoring: Displays trend charts for CPU usage and memory usage over a specified time range.

    • Instance GC: Displays trend charts for Full GC and Young GC over a specified time range. You can switch between the number of GCs and their average duration from the drop-down list next to the chart title.

    • JVM memory: Displays trend charts for used and maximum heap memory over a specified time range. You can switch to view the used and maximum non-heap memory from the drop-down list next to the chart title.

      Note

      Application Monitoring collects data from Java Management Extensions (JMX). The non-heap memory area reported by JMX is smaller than the actual non-heap memory area in the Java process. As a result, the sum of heap and non-heap memory in the monitoring data may differ from the Resident Set Size (RES) shown by the top command. For more details, see JVM memory monitoring details.

  • In the instance list area, you can view information such as instance IP, CPU usage, memory usage, load, number of Full GCs, number of Young GCs, heap memory utilization, non-heap memory utilization, and RED Method metrics (Rate, Errors, and Duration).

    In the instance list, you can perform the following operations:

    • Click an instance IP or click Details in the Actions column to view the instance details.

    • In the Actions column, click Traces to view the trace details for the instance.

Instance details

Instance Overview

On the Instance Overview tab, you can view metrics for the target interface, including the number of requests, number of errors, average duration, and slow calls.

JVM Monitoring

On the JVM Monitoring tab, you can view information about the instance's GC, memory, threads, and files.

Thread Pool Monitoring

Agent 4.1.x and later

On the Thread Pool Monitoring tab, you can view various metrics for the thread pools that your application uses, including initial thread configuration, runtime thread status, and task execution status.

At the top of the tab, you can filter the thread pools by type and name.

Expand to view frameworks supported by Thread Pool Monitoring

Supported frameworks:

  • java.util.ThreadPoolExecutor: Typically used for Tomcat 8 to 9.1, Dubbo, High-speed Service Framework (HSF), Vert.x, and custom thread pools.

  • org.apache.tomcat.util.threads.ThreadPoolExecutor: Typically used for Tomcat 9.1 and later.

  • org.eclipse.jetty.util.thread.QueuedThreadPool: Typically used for Jetty.

  • org.xnio.XnioWorker: Typically used for Undertow.

The following metrics are collected:

Metric name

Supported frameworks

Description

arms_thread_pool_core_pool_size

  • ThreadPoolExecutor (JDK)

  • ThreadPoolExecutor (Tomcat 9.1+)

  • XnioWorker

  • QueuedThreadPool

The number of core threads, a typically static configuration.

arms_thread_pool_max_pool_size

  • ThreadPoolExecutor (JDK)

  • ThreadPoolExecutor (Tomcat 9.1+)

  • XnioWorker

  • QueuedThreadPool

The maximum number of threads, a typically static configuration.

arms_thread_pool_active_thread_count

  • ThreadPoolExecutor (JDK)

  • ThreadPoolExecutor (Tomcat 9.1+)

  • XnioWorker

  • QueuedThreadPool

The number of threads currently executing tasks.

arms_thread_pool_current_thread_count

  • ThreadPoolExecutor (JDK)

  • ThreadPoolExecutor (Tomcat 9.1+)

  • QueuedThreadPool

The current number of threads, including active threads and threads waiting for tasks.

arms_thread_pool_max_thread_count

  • ThreadPoolExecutor (JDK)

  • ThreadPoolExecutor (Tomcat 9.1+)

The largest number of threads that have ever simultaneously existed in the thread pool.

arms_thread_pool_scheduled_task_count

  • ThreadPoolExecutor (JDK)

  • ThreadPoolExecutor (Tomcat 9.1+)

The total number of tasks that have been scheduled for execution.

arms_thread_pool_completed_task_count

  • ThreadPoolExecutor (JDK)

  • ThreadPoolExecutor (Tomcat 9.1+)

The total number of tasks that have completed execution.

arms_thread_pool_rejected_task_count

  • ThreadPoolExecutor (JDK)

  • ThreadPoolExecutor (Tomcat 9.1+)

  • QueuedThreadPool

The number of tasks rejected by the thread pool.

arms_thread_pool_queue_size

  • ThreadPoolExecutor (JDK)

  • ThreadPoolExecutor (Tomcat 9.1+)

  • XnioWorker

  • QueuedThreadPool

The current number of tasks in the thread pool's queue.

Agent earlier than 4.1.x

On the Thread Pool Monitoring tab, you can view metrics such as the number of core threads, current number of threads, maximum number of threads, number of active threads, and task queue capacity for the thread pools that your application uses.

Expand to view frameworks supported by Thread Pool Monitoring

Thread pool monitoring supports the Tomcat, High-speed Service Framework (HSF), Dubbo, Vert.x, and Undertow frameworks. Agent versions 3.1.x and earlier support Undertow 1.x to 2.0.x, while agent versions 3.2.x and later support all versions of Undertow.

The following metrics are collected:

Description

Metric name

The number of core threads.

arms_threadpool_core_size

The maximum number of threads.

arms_threadpool_max_size

The number of active threads.

arms_threadpool_active_size

The size of the task queue.

arms_threadpool_queue_size

The current number of threads in the pool.

arms_threadpool_current_size

Thread pool monitoring supports the SchedulerX framework. The following metric is collected:

Description

Metric name

The number of active threads.

arms_threadpool_active_size

Connection Pool Monitoring

Agent 4.1.x and later

On the Connection Pool Monitoring tab, you can view various metrics for the connection pools that your application uses, including initial configuration and runtime status.

Expand to view frameworks supported by Connection Pool Monitoring

Supported frameworks: DBCP (>2.0), Vibur DBCP (>11.0), c3p0 (>0.9.2), Druid, HikariCP (>3.0), Jedis (>3.0), Lettuce (>5.0), and Redisson (>3.0).

The following metrics are collected:

Metric name

Supported frameworks

Description

arms_connection_pool_connection_count

DBCP, c3p0, Vibur DBCP, Druid, HikariCP, Jedis, Lettuce, Redisson

The number of connections. You can distinguish between Active and Idle connections by their state.

arms_connection_pool_connection_min_idle_count

DBCP, Jedis, Druid, HikariCP, Lettuce

The minimum number of idle connections, a typically static configuration.

arms_connection_pool_connection_max_idle_count

DBCP, Jedis, Druid, Lettuce

The maximum number of idle connections, a typically static configuration.

arms_connection_pool_connection_max_count

DBCP, Druid, Vibur DBCP, HikariCP

The maximum number of connections, a typically static configuration.

arms_connection_pool_pending_request_count

c3p0, HikariCP, Jedis

The number of connection requests waiting for a connection.

Agent earlier than 4.1.x

On the Connection Pool Monitoring tab, you can view metrics for the maximum and active number of connections for the connection pools that your application uses.

Expand to view frameworks supported by Connection Pool Monitoring

Connection pool monitoring supports the OkHttp2 and OkHttp3 frameworks. The following metrics are collected:

Description

Metric name

The number of active connections.

arms_threadpool_active_size

The number of current connections.

arms_threadpool_current_size

Connection pool monitoring supports the Apache HTTPClient framework. The following metrics are collected:

Description

Metric name

The number of current connections.

arms_threadpool_current_size

The maximum number of connections.

arms_threadpool_max_size

The size of the waiting queue.

arms_threadpool_queue_size

Connection pool monitoring supports the Druid framework. The following metrics are collected:

Description

Metric name

The number of active connections.

arms_threadpool_active_size

The maximum number of connections.

arms_threadpool_max_size

Connection pool monitoring supports the HikariCP framework. The following metrics are collected:

Description

Metric name

The number of active connections.

arms_threadpool_active_size

The maximum number of connections.

arms_threadpool_max_size

Host Monitoring

On the Host Monitoring tab, you can view metrics for CPU, memory, disk, load, network traffic, and network packets.

Related documentation

For details about Application Monitoring metrics, see Application Monitoring Metrics.