ARMS Application Monitoring provides common metrics that you can use to create custom Grafana dashboards.
Applications connected through Managed Service for OpenTelemetry support only business metrics. Other metrics, such as JVM and system metrics, are not supported.
Business metrics
Common dimensions
|
Dimension name |
Dimension key |
|
Service name |
service |
|
Service PID |
pid |
|
Server IP |
serverIp |
|
Interface |
rpc |
Metrics
The following metrics apply to all access types. In queries, replace $callType with a specific access type. For more information, see Service access types and available dimensions.
For example, to query the number of HTTP requests, change arms_$callType_requests_count to arms_http_requests_count.
|
Metric name |
Metric |
Metric type |
Collection interval |
Unit |
Dimensions |
|
Number of requests |
arms_$callType_requests_count |
Gauge |
15s |
None |
The dimensions vary based on the service access type. For more information, see Service access types and available dimensions. |
|
Number of error requests |
arms_$callType_requests_error_count |
Gauge |
15s |
None |
|
|
Request duration |
arms_$callType_requests_seconds |
Gauge |
15s |
Seconds |
|
|
Number of slow requests |
arms_$callType_requests_slow_count |
Gauge |
15s |
None |
|
|
Request duration quantile |
arms_$callType_requests_latency_seconds |
Summary |
15s |
Seconds |
This metric is available only when the service access type is HTTP and quantile statistics is enabled. To enable quantile statistics, see Advanced Settings. Quantile dimensions:
|
All listed metrics except quantile metrics are Gauge types. Each data point represents the cumulative value within the collection interval, unlike metrics from open source frameworks. For example, to calculate the average queries per second (QPS) in one minute, the Prometheus Query Language (PromQL) for an ARMS metric is sum_over_time(arms_$callType_requests_count[1m])/60. For an open source framework, the expression is typically rate(http_server_requests_count[1m]).
Aggregated business metrics
-
Business metrics create separate metrics per call type, resulting in long PromQL statements when an application uses multiple call types such as HTTP and Dubbo.
-
Business metrics record all observation dimensions, which can cause poor query performance in scenarios where only a subset of dimensions is needed.
To address these issues, ARMS provides aggregated business metrics.
Metric descriptions
Aggregated business metrics fall into the following categories:
-
General
Tracks request count, error count, slow request count, and average duration across all access types.
-
Database
Tracks request count, error count, slow request count, and average duration for database access types.
-
SQL
Same as Database, but adds the SQL dimension.
-
Exception
Tracks request count and average duration for requests that trigger exceptions across all access types.
-
Status code
Tracks request count by HTTP status code.
-
Quantile
Tracks request duration quantiles across all access types.
Except for Quantile, each category has two metric types: full-dimension metrics named xxx_raw, and reduced-dimension metrics named xxx_ign_x_y, where x and y indicate the excluded dimensions.
Metric type and collection interval
Unless otherwise specified, all aggregated business metrics are Gauge types with a collection interval of 15 seconds.
Common dimensions
Every aggregated metric includes the following common dimensions:
|
Dimension |
Description |
|
pid |
Application PID |
|
service |
Application name |
|
serverIp |
Instance IP |
|
source |
Metric source:
|
Metrics
|
Metric category |
Metric name |
Metric |
Unit |
Other dimensions |
|
General |
Number of requests |
arms_app_requests_count_raw |
Item |
|
|
arms_app_requests_count_ign_destid_endpoint_rpc |
Unit |
Excludes the destId, endpoint, and rpc dimensions. |
||
|
arms_app_requests_count_ign_destid_endpoint_ppid_prpc |
Unit |
Excludes the destId, endpoint, ppid, and prpc dimensions. |
||
|
arms_app_requests_count_ign_destid_endpoint_ppid_prpc_rpc |
Unit |
Excludes the destId, endpoint, ppid, prpc, and rpc dimensions. |
||
|
arms_app_requests_count_ign_parent_ppid_prpc_rpc |
Unit |
Excludes the parent, ppid, prpc, and rpc dimensions. |
||
|
arms_app_requests_count_ign_endpoint_parent_ppid_prpc_rpc |
Unit |
Excludes the endpoint, parent, ppid, prpc, and rpc dimensions. |
||
|
Number of error requests |
arms_app_requests_error_count_raw |
Unit |
|
|
|
arms_app_requests_error_count_ign_destid_endpoint_rpc |
Unit |
Excludes the destId, endpoint, and rpc dimensions. |
||
|
arms_app_requests_error_count_ign_destid_endpoint_ppid_prpc |
item |
Excludes the destId, endpoint, ppid, and prpc dimensions. |
||
|
arms_app_requests_error_count_ign_destid_endpoint_ppid_prpc_rpc |
Item |
Excludes the destId, endpoint, ppid, prpc, and rpc dimensions. |
||
|
arms_app_requests_error_count_ign_parent_ppid_prpc_rpc |
Unit |
Excludes the parent, ppid, prpc, and rpc dimensions. |
||
|
arms_app_requests_error_count_ign_endpoint_parent_ppid_prpc_rpc |
Unit |
Excludes the endpoint, parent, ppid, prpc, and rpc dimensions. |
||
|
Number of slow requests |
arms_app_requests_slow_count_raw |
Unit |
|
|
|
arms_app_requests_slow_count_ign_destid_endpoint_rpc |
Unit |
Excludes the destId, endpoint, and rpc dimensions. |
||
|
arms_app_requests_slow_count_ign_destid_endpoint_ppid_prpc |
Unit |
Excludes the destId, endpoint, ppid, and prpc dimensions. |
||
|
arms_app_requests_slow_count_ign_destid_endpoint_ppid_prpc_rpc |
Unit |
Excludes the destId, endpoint, ppid, prpc, and rpc dimensions. |
||
|
arms_app_requests_slow_count_ign_parent_ppid_prpc_rpc |
Item |
Excludes the parent, ppid, prpc, and rpc dimensions. |
||
|
arms_app_requests_slow_count_ign_endpoint_parent_ppid_prpc_rpc |
Item |
Excludes the endpoint, parent, ppid, prpc, and rpc dimensions. |
||
|
Request duration |
arms_app_requests_seconds_raw |
Seconds |
|
|
|
arms_app_requests_seconds_ign_destid_endpoint_rpc |
Seconds |
Excludes the destId, endpoint, and rpc dimensions. |
||
|
arms_app_requests_seconds_ign_destid_endpoint_ppid_prpc |
Seconds |
Excludes the destId, endpoint, ppid, and prpc dimensions. |
||
|
arms_app_requests_seconds_ign_destid_endpoint_ppid_prpc_rpc |
Seconds |
Excludes the destId, endpoint, ppid, prpc, and rpc dimensions. |
||
|
arms_app_requests_seconds_ign_parent_ppid_prpc_rpc |
Seconds |
Excludes the parent, ppid, prpc, and rpc dimensions. |
||
|
arms_app_requests_seconds_ign_endpoint_parent_ppid_prpc_rpc |
Seconds |
Excludes the endpoint, parent, ppid, prpc, and rpc dimensions. |
||
|
Database |
Number of database requests |
arms_db_requests_count_raw |
Unit |
|
|
arms_db_requests_count_ign_rpc |
Item |
Excludes the interface dimension. |
||
|
Number of database request errors |
arms_db_requests_error_count_raw |
unit |
|
|
|
arms_db_requests_error_count_ign_rpc |
Unit |
Excludes the interface dimension. |
||
|
Number of slow database requests |
arms_db_requests_slow_count_raw |
Unit |
|
|
|
arms_db_requests_slow_count_ign_rpc |
Unit |
Excludes the interface dimension. |
||
|
Database request duration |
arms_db_requests_seconds_raw |
Seconds |
|
|
|
arms_db_requests_seconds_ign_rpc |
Seconds |
Excludes the interface dimension. |
||
|
SQL |
Number of SQL requests |
arms_sql_requests_count_raw |
|
|
|
arms_sql_requests_count_ign_rpc |
Excludes the interface dimension. |
|||
|
Number of SQL request errors |
arms_sql_requests_error_count_raw |
Unit |
|
|
|
arms_sql_requests_error_count_ign_rpc |
Unit |
Excludes the interface dimension. |
||
|
Number of slow SQL requests |
arms_sql_requests_slow_count_raw |
Item |
|
|
|
arms_sql_requests_slow_count_ign_rpc |
item |
Excludes the interface dimension. |
||
|
SQL request duration |
arms_sql_requests_seconds_raw |
Seconds |
|
|
|
arms_sql_requests_seconds_ign_rpc |
Seconds |
Excludes the interface dimension. |
||
|
Exception |
Number of exception requests |
arms_exception_requests_count_raw |
Item |
|
|
arms_exception_requests_count_ign_rpc |
Item |
Excludes the interface dimension. |
||
|
Exception request duration |
arms_exception_requests_seconds_raw |
Seconds |
|
|
|
arms_exception_requests_seconds_ign_rpc |
Seconds |
Excludes the interface dimension. |
||
|
Status code |
Number of requests by status code |
arms_requests_by_status_count_raw |
Item |
|
|
arms_requests_by_status_count_ign_rpc |
Unit |
Excludes the interface dimension. |
||
|
Quantile |
Request duration quantile Note
Supported only by agent versions 4.x and later. |
arms_uni_requests_latency_seconds |
|
Usage example
How to select a metric to count the requests of all application interfaces using PromQL
-
Your requirement is to count interface requests. According to the documentation, general metrics meet this need.
-
The query needs to focus only on the interface dimension. Other dimensions, such as upstream interface, upstream application, and remote address, are not required. When you select a metric, first confirm that it includes the interface dimension, and then select the one that contains the fewest other dimensions.
Therefore, the optimal metric is arms_app_requests_count_ign_destid_endpoint_ppid_prpc.
JVM metrics
Common dimensions
|
Dimension name |
Dimension key |
|
Service name |
service |
|
Service PID |
pid |
|
Server IP |
serverIp |
Metrics
|
Metric name |
Metric |
Metric type |
Collection interval |
Unit |
Dimensions |
|
Cumulative GC count |
arms_jvm_gc_total |
Counter |
15s |
None |
Gen (GC generation):
Cause (GC trigger reason) (for agent versions 4.4.0 and later): System.gc(), Heap Dump Initiated GC, Allocation Failure, and more. |
|
Cumulative GC duration |
arms_jvm_gc_seconds_total |
Counter |
15s |
Seconds |
|
|
GC count between collection intervals |
arms_jvm_gc_delta |
Gauge |
15s |
None |
|
|
GC duration between collection intervals |
arms_jvm_gc_seconds_delta |
Gauge |
15s |
Seconds |
|
|
Number of JVM threads |
arms_jvm_threads_count |
Gauge |
15s |
None |
State (thread status):
|
|
Initial size of JVM memory area |
arms_jvm_mem_init_bytes |
Gauge |
15s |
Bytes |
Area:
ID (area breakdown):
|
|
Maximum size of JVM memory area |
arms_jvm_mem_max_bytes |
Gauge |
15s |
Bytes |
|
|
Used size of JVM memory area |
arms_jvm_mem_used_bytes |
Gauge |
15s |
Bytes |
|
|
Committed size of JVM memory area |
arms_jvm_mem_committed_bytes |
Gauge |
15s |
Bytes |
|
|
Usage ratio of JVM memory area |
arms_jvm_mem_usage_ratio |
Gauge |
15s |
Ratio (0 to 1) |
|
|
Loaded JVM classes |
arms_class_load_loaded |
Counter |
15s |
None |
None |
|
Unloaded JVM classes |
arms_class_load_un_loaded |
Counter |
15s |
None |
None |
|
JVM buffer pool size |
arms_jvm_buffer_pool_total_bytes |
Gauge |
15s |
Bytes |
ID (area):
|
|
Used size of JVM buffer pool |
arms_jvm_buffer_pool_used_bytes |
Gauge |
15s |
Bytes |
|
|
Number of JVM buffer pools |
arms_jvm_buffer_pool_count |
Gauge |
15s |
None |
|
|
Open file descriptor count |
arms_file_desc_open_count |
Gauge |
15s |
None |
None |
|
Open file descriptor ratio (open count/maximum allowed count) |
arms_file_desc_open_ratio |
Gauge |
15s |
Ratio (0 to 1) |
None |
System metrics
Common dimensions
|
Dimension name |
Dimension key |
|
Service name |
service |
|
Service PID |
pid |
|
Server IP |
serverIp |
Metrics
|
Metric name |
Metric |
Metric type |
Collection interval |
Unit |
|
Idle CPU percentage |
arms_system_cpu_idle |
Gauge |
15s |
Percentage |
|
I/O wait CPU percentage |
arms_system_cpu_io_wait |
Gauge |
15s |
Percentage |
|
System CPU percentage |
arms_system_cpu_system |
Gauge |
15s |
Percentage |
|
User mode CPU percentage |
arms_system_cpu_user |
Gauge |
15s |
Percentage |
|
System load (1 minute) |
arms_system_load |
Gauge |
15s |
None |
|
Free disk space |
arms_system_disk_free_bytes |
Gauge |
15s |
Bytes |
|
Total disk space |
arms_system_disk_total_bytes |
Gauge |
15s |
Bytes |
|
Disk usage |
arms_system_disk_used_ratio |
Gauge |
15s |
Ratio (0 to 1) |
|
Memory buffer size |
arms_system_mem_buffers_bytes |
Gauge |
15s |
Bytes |
|
Memory cache size |
arms_system_mem_cached_bytes |
Gauge |
15s |
Bytes |
|
Free memory |
arms_system_mem_free_bytes |
Gauge |
15s |
Bytes |
|
Free swap space |
arms_system_mem_swap_free_bytes |
Gauge |
15s |
Bytes |
|
Total swap space |
arms_system_mem_swap_total_bytes |
Gauge |
15s |
Bytes |
|
Total memory |
arms_system_mem_total_bytes |
Gauge |
15s |
Bytes |
|
Used memory |
arms_system_mem_used_bytes |
Gauge |
15s |
Bytes |
|
Inbound network traffic |
arms_system_net_in_bytes |
Gauge |
15s |
Bytes |
|
Outbound network traffic |
arms_system_net_out_bytes |
Gauge |
15s |
Bytes |
|
Inbound network errors |
arms_system_net_in_err |
Gauge |
15s |
None |
|
Outbound network errors |
arms_system_net_out_err |
Gauge |
15s |
None |
Thread pool and connection pool metrics
Common dimensions
|
Dimension name |
Dimension key |
|
Service name |
service |
|
Service PID |
pid |
|
Server IP |
serverIp |
|
Thread pool name (supported by agent versions earlier than 4.1.x) |
name |
|
Thread pool type (supported by agent versions earlier than 4.1.x) |
type |
Metrics
For agent versions 4.1.x and later
Thread pool metrics
|
Metric name |
Metric |
Metric type |
Collection interval |
Dimensions |
|
Core thread count |
arms_thread_pool_core_pool_size |
Gauge |
15s |
|
|
Maximum thread count |
arms_thread_pool_max_pool_size |
Gauge |
15s |
|
|
Active thread count |
arms_thread_pool_active_thread_count |
Gauge |
15s |
|
|
Current thread count |
arms_thread_pool_current_thread_count |
Gauge |
15s |
|
|
Peak thread count in the thread pool (the peak number of threads since the pool was created) |
arms_thread_pool_max_thread_count |
Gauge |
15s |
|
|
Number of scheduled tasks in the thread pool |
arms_thread_pool_scheduled_task_count |
Counter |
15s |
|
|
Number of completed tasks in the thread pool |
arms_thread_pool_completed_task_count |
Counter |
15s |
|
|
Number of rejected tasks in the thread pool |
arms_thread_pool_rejected_task_count |
Counter |
15s |
|
|
Task queue size of the thread pool |
arms_thread_pool_queue_size |
Gauge |
15s |
|
Connection pool metrics
|
Metric name |
Metric |
Metric type |
Collection interval |
Dimensions |
|
Number of connections |
arms_connection_pool_connection_count |
Gauge |
15s |
|
|
Minimum idle connections |
arms_connection_pool_connection_min_idle_count |
Gauge |
15s |
|
|
Maximum idle connections |
arms_connection_pool_connection_max_idle_count |
Gauge |
15s |
|
|
Maximum connections |
arms_connection_pool_connection_max_count |
Gauge |
15s |
|
|
Number of pending connection requests |
arms_connection_pool_pending_request_count |
Counter |
15s |
|
For agent versions earlier than 4.1.x
|
Metric name |
Metric |
Metric type |
Collection interval |
Dimensions |
|
Core thread count of the thread pool |
arms_threadpool_core_size |
Gauge |
15s |
None |
|
Maximum thread count of the thread pool |
arms_threadpool_max_size |
Gauge |
15s |
None |
|
Active thread count of the thread pool |
arms_threadpool_active_size |
Gauge |
15s |
None |
|
Queue size of the thread pool |
arms_threadpool_queue_size |
Gauge |
15s |
None |
|
Current size of the thread pool |
arms_threadpool_current_size |
Gauge |
15s |
None |
|
Number of tasks in different states in the thread pool |
arms_threadpool_task_total |
Gauge |
15s |
Status (task status):
|
Scheduled task metrics
The following metrics are available only for scheduled tasks.
Common dimensions
|
Dimension name |
Dimension key |
|
Service name |
service |
|
Service PID |
pid |
|
Server IP |
serverIp |
|
Task ID |
rpc |
Metrics
|
Metric name |
Metric |
Metric type |
Collection interval |
Unit |
|
Scheduling latency |
arms_$callType_delay_milliseconds |
Gauge |
15s |
Milliseconds |
Go runtime metrics
|
Metric name |
Metric |
Metric type |
Collection interval |
|
Application startup duration (ms) |
arms_golang_runtime_uptime |
Int64Counter |
15s |
|
Number of goroutines in the current application |
arms_golang_process_runtime_go_goroutines |
Gauge |
15s |
|
Heap object memory (bytes) |
arms_golang_process_runtime_go_mem_heap_alloc |
Gauge |
15s |
|
Unallocated or reclaimed heap memory |
arms_golang_process_runtime_go_mem_heap_idle |
Gauge |
15s |
|
Used heap memory |
arms_golang_process_runtime_go_mem_heap_inuse |
Gauge |
15s |
|
Allocated live heap objects |
arms_golang_process_runtime_go_mem_heap_objects |
Gauge |
15s |
|
Memory in HeapIdle that has been released to the operating system |
arms_golang_process_runtime_go_mem_heap_released |
Gauge |
15s |
|
Size of virtual memory requested from the system |
arms_golang_process_runtime_go_mem_heap_sys |
Gauge |
15s |
|
Number of current live objects |
arms_golang_process_runtime_go_mem_live_objects |
Gauge |
15s |
|
Number of GCs since the program started |
arms_golang_process_runtime_go_gc_count |
Gauge |
15s |
|
Cumulative garbage collection (stop-the-world) time of the program, which is the unavailable time |
arms_golang_process_runtime_go_gc_pause_total_ns |
Int64Counter |
15s |
|
GC time distribution |
arms_golang_process_runtime_go_gc_pause_ns |
Int64Histogram |
15s |
Service access types and available dimensions
Clients
-
Access types
-
http_client
-
dubbo_client
-
hsf_client
-
dsf_client
-
notify_client
-
grpc_client
-
thrift_client
-
sofa_client
-
mq_client
-
kafka_client
-
-
Dimensions
-
parent: The name of the upstream service.
-
ppid: The PID of the upstream service.
-
destId: Extension information for the request peer.
-
endpoint: The endpoint of the request peer.
-
excepType: The exception ID.
-
excepInfo: The encoding rule for the exception ID.
-
excepName: The exception name.
-
stackTraceId: The exception stack ID.
-
Databases
-
Access types
-
mysql
-
oracle
-
mariadb
-
postgresql
-
ppas
-
sqlserver
-
mongodb
-
dmdb
-
-
Dimensions
-
parent: The name of the upstream service.
-
ppid: The PID of the upstream service.
-
destId: The database name.
-
endpoint: The database address.
-
excepType: The exception ID.
-
excepInfo: The encoding rule for the exception ID.
-
excepName: The exception name.
-
stackTraceId: The exception stack ID.
-
sqlId: The SQL statement ID.
-
Servers
-
Access types
-
http
-
dubbo
-
hsf
-
dsf
-
user_method
-
mq
-
kafka
-
grpc
-
thrift
-
sofa
-
-
Dimensions
-
prpc: The upstream interface.
-
parent: The name of the upstream service.
-
ppid: The PID of the upstream service.
-
endpoint: The service endpoint.
-
excepType: The exception ID.
-
excepInfo: The encoding rule for the exception ID.
-
excepName: The exception name.
-
stackTraceId: The exception stack ID.
-
Scheduled tasks
-
Access types
-
xxl_job
-
spring_scheduled
-
quartz
-
elasticjob
-
jdk_timer
-
schedulerx
-
-
Dimensions
-
prpc: The upstream interface.
-
parent: The name of the upstream service.
-
ppid: The PID of the upstream service.
-
excepType: The exception ID.
-
excepInfo: The encoding rule for the exception ID.
-
excepName: The exception name.
-
stackTraceId: The exception stack ID.
-