All Products
Search
Document Center

Application Real-Time Monitoring Service:Application Monitoring metrics

Last Updated:Mar 11, 2026

Use these metrics to build custom Grafana dashboards and PromQL queries for ARMS Application Monitoring.

Important

Applications connected through Managed Service for OpenTelemetry support only business metrics. JVM metrics, system metrics, and other metric categories are not available for these applications.

Metric naming conventions

ARMS metrics follow consistent naming patterns. Understanding these patterns helps you find the right metric and construct queries faster.

Business metrics

Business metrics use the pattern arms_$callType_requests_<suffix>, where $callType is the service access type. Replace $callType with the actual access type when querying.

Example: To query HTTP request counts, use arms_http_requests_count.

For all supported access types, see Service access types and dimensions.

Aggregated business metrics

Aggregated metrics use two naming patterns:

PatternFormatDescription
Full-dimension<prefix>_rawIncludes all observation dimensions
Reduced-dimension<prefix>_ign_x_yExcludes dimensions x and y from the metric

Reduced-dimension metrics improve query performance by pre-excluding unused dimensions. Choose the variant with only the dimensions your query requires.

How ARMS Gauge metrics differ from open-source frameworks

Important

Except for quantile and Counter-type metrics, ARMS metrics are Gauge type. Each data point represents the cumulative total within the 15-second collection interval, not an instantaneous value. This affects how you write PromQL expressions.

ScenarioARMS PromQLOpen-source equivalent
Average QPS over 1 minutesum_over_time(arms_$callType_requests_count[1m]) / 60rate(http_server_requests_count[1m])
Error rate over 5 minutessum_over_time(arms_http_requests_error_count[5m]) / sum_over_time(arms_http_requests_count[5m])rate(http_server_requests_error_count[5m]) / rate(http_server_requests_count[5m])
P99 latencyarms_http_requests_latency_seconds{quantile="0.99"}histogram_quantile(0.99, rate(http_server_requests_seconds_bucket[5m]))

Metric storage locations

Metrics are stored in one of two metric libraries. Specify the correct metricstore when querying.

Storage locationMetricstore nameMetric categories
Core metric librarymetricstore-apm-metricsJVM, system, thread pool/connection pool, Go runtime, and the following aggregated business metrics: arms_app_requests_{metric}_ign_destid_endpoint_parent_ppid_prpc_rpc, arms_app_requests_{metric}_ign_destid_endpoint_rpc_prpc, arms_app_requests_{metric}_ign_destid_endpoint_parent_ppid_prpc
Detailed metric librarymetricstore-apm-metrics-detailBusiness metrics, scheduled task metrics, and all other aggregated business metrics

Business metrics

Business metrics track request count, errors, latency, and slow requests per service access type.

Common dimensions

DimensionKey
Service nameservice
Service PIDpid
Machine IPserverIp
Interfacerpc

Metric list

All metrics use a 15-second collection interval.

Metric nameMetricTypeUnitDimensions
Request countarms_$callType_requests_countGauge--Varies by access type. See Service access types and dimensions.
Error request countarms_$callType_requests_error_countGauge--Same as above
Request durationarms_$callType_requests_secondsGaugeSecondsSame as above
Slow request countarms_$callType_requests_slow_countGauge--Same as above
Request duration quantilesarms_$callType_requests_latency_secondsSummarySecondsAvailable only for HTTP access type with quantile statistics enabled. Quantile values: 0.5, 0.75, 0.90, 0.99. To enable quantile statistics, see Advanced Settings.

Aggregated business metrics

Per-access-type business metrics create long PromQL expressions when an application uses multiple access types (such as HTTP and Dubbo). They also include all observation dimensions, which can degrade query performance when you need only a subset.

Aggregated business metrics solve both problems: they combine access types into unified metrics and offer reduced-dimension variants for faster queries.

Unless otherwise specified, all aggregated business metrics are Gauge type with a 15-second collection interval.

Common dimensions

Every aggregated metric includes these dimensions:

DimensionKeyDescription
Application PIDpidProcess identifier
Application nameserviceService name
Instance IPserverIpHost IP address
Metric sourcesourceapm = ARMS agent, xtrace = Managed Service for OpenTelemetry, ebpf = eBPF agent

Categories

Aggregated business metrics are organized into six categories:

CategoryTracksScope
GeneralRequest count, error count, slow request count, request durationAll access types
DatabaseRequest count, error count, slow request count, request durationDatabase access types only
SQLSame as Database, plus SQL statement dimensionDatabase access types only
ExceptionRequest count, request durationAll access types, only when exceptions occur
Status codeRequest count by HTTP status codeHTTP access type only
QuantileRequest duration quantilesAll access types (agent V4.x+)

General metrics

Additional dimensions for _raw metrics:

DimensionKeyDescription
Access typecallTypeHTTP, Dubbo, database, etc.
Interface namerpcEndpoint or method name
Upstream interfaceprpcCaller interface
Upstream application PIDppidCaller process ID
Upstream application nameparentCaller service name
Peer addressendpointFor http_client: peer interface. For other types: remote address.
Target identifierdestIdFor database types: database name. For other types: remote address.

Request count

MetricExcluded dimensions
arms_app_requests_count_rawNone (all dimensions included)
arms_app_requests_count_ign_destid_endpoint_parent_ppid_prpc_rpcdestId, endpoint, parent, ppid, prpc, rpc
arms_app_requests_count_ign_destid_endpoint_rpc_prpcdestId, endpoint, rpc, prpc
arms_app_requests_count_ign_destid_endpoint_parent_ppid_prpcdestId, endpoint, parent, ppid, prpc
arms_app_requests_count_ign_parent_ppid_prpc_rpcparent, ppid, prpc, rpc

Error request count

MetricExcluded dimensions
arms_app_requests_error_count_rawNone (all dimensions included)
arms_app_requests_error_count_ign_destid_endpoint_rpc_prpcdestId, endpoint, rpc, prpc
arms_app_requests_error_count_ign_destid_endpoint_parent_ppid_prpcdestId, endpoint, parent, ppid, prpc
arms_app_requests_error_count_ign_parent_ppid_prpc_rpcparent, ppid, prpc, rpc

Slow request count

MetricExcluded dimensions
arms_app_requests_slow_count_rawNone (all dimensions included)
arms_app_requests_slow_count_ign_destid_endpoint_parent_ppid_prpc_rpcdestId, endpoint, parent, ppid, prpc, rpc
arms_app_requests_slow_count_ign_destid_endpoint_rpc_prpcdestId, endpoint, rpc, prpc
arms_app_requests_slow_count_ign_destid_endpoint_parent_ppid_prpcdestId, endpoint, parent, ppid, prpc
arms_app_requests_slow_count_ign_parent_ppid_prpc_rpcparent, ppid, prpc, rpc

Request duration

MetricUnitExcluded dimensions
arms_app_requests_seconds_rawSecondsNone (all dimensions included)
arms_app_requests_seconds_ign_destid_endpoint_parent_ppid_prpc_rpcSecondsdestId, endpoint, parent, ppid, prpc, rpc
arms_app_requests_seconds_ign_destid_endpoint_rpc_prpcSecondsdestId, endpoint, rpc, prpc
arms_app_requests_seconds_ign_destid_endpoint_parent_ppid_prpcSecondsdestId, endpoint, parent, ppid, prpc
arms_app_requests_seconds_ign_parent_ppid_prpc_rpcSecondsparent, ppid, prpc, rpc

Database metrics

Additional dimensions:

DimensionKeyDescription
Access typecallTypeDatabase type (MySQL, PostgreSQL, etc.)
Interface namerpcQuery method
Database instance addressendpointConnection endpoint
Database namedestIdTarget database
Metric nameFull-dimension metricReduced-dimension metric (excludes rpc)
Request countarms_db_requests_count_rawarms_db_requests_count_ign_rpc
Error request countarms_db_requests_error_count_rawarms_db_requests_error_count_ign_rpc
Slow request countarms_db_requests_slow_count_rawarms_db_requests_slow_count_ign_rpc
Request durationarms_db_requests_seconds_rawarms_db_requests_seconds_ign_rpc

SQL metrics

SQL metrics extend database metrics by adding the SQL statement dimension.

Additional dimensions: Same as Database metrics, plus:

DimensionKeyDescription
SQL statement IDsqlIdIdentifier for the SQL statement
Metric nameFull-dimension metricReduced-dimension metric (excludes rpc)
Request countarms_sql_requests_count_rawarms_sql_requests_count_ign_rpc
Error request countarms_sql_requests_error_count_rawarms_sql_requests_error_count_ign_rpc
Slow request countarms_sql_requests_slow_count_rawarms_sql_requests_slow_count_ign_rpc
Request durationarms_sql_requests_seconds_rawarms_sql_requests_seconds_ign_rpc

Exception metrics

Additional dimensions:

DimensionKeyDescription
Access typecallTypeService access type
Interface namerpcEndpoint or method name
Peer addressendpointFor http_client: peer interface. For other types: remote address.
Target identifierdestIdFor database types: database name. For other types: remote address.
Exception encoding methodexcepInfoEncoding format
Exception encoding IDexcepTypeUnique exception identifier
Exception nameexcepNameException class name
Metric nameMetricExcluded dimensions
Exception request countarms_exception_requests_count_rawNone
arms_exception_requests_count_ign_destid_endpoint_rpcdestId, endpoint, rpc
arms_exception_requests_count_ign_destid_endpointdestId, endpoint
Exception request durationarms_exception_requests_seconds_rawNone
arms_exception_requests_seconds_ign_destid_endpoint_rpcdestId, endpoint, rpc
arms_exception_requests_seconds_ign_destid_endpointdestId, endpoint

Status code metrics

Additional dimensions:

DimensionKeyDescription
Interface namerpcHTTP endpoint
Status codestatus200, 2xx (201-299), 3xx (300-399), 4xx (400-499), 5xx (500+)
Metric nameMetricExcluded dimensions
Request count by status codearms_requests_by_status_count_rawNone
arms_requests_by_status_count_ign_rpcrpc

Quantile metrics

Quantile metrics require agent V4.x or later.

Additional dimensions:

DimensionKeyDescription
Access typecallTypeService access type
Interface namerpcEndpoint or method name
Quantilequantile0.5 (p50), 0.75 (p75), 0.90 (p90), 0.99 (p99)
Peer addressendpointFor http_client: peer interface. For other types: remote address.
Target identifierdestIdFor database types: database name. For other types: remote address.
Exception encoding methodexcepInfoEncoding format
Exception encoding IDexcepTypeUnique exception identifier
Exception nameexcepNameException class name
Status codestatus200, 2xx, 3xx, 4xx, 5xx
MetricType
arms_uni_requests_latency_secondsSummary

Choose the right metric

Use the following examples to select the best metric variant for your query.

Example 1: Count requests across all interfaces

  1. The General category provides request count metrics.

  2. Your query needs the interface dimension (rpc) but not upstream, peer, or database dimensions.

  3. Pick the variant that retains rpc while excluding the most unnecessary dimensions.

Best choice: arms_app_requests_count_ign_destid_endpoint_parent_ppid_prpc

This metric keeps rpc (interface) and callType while excluding destId, endpoint, parent, ppid, and prpc, giving you the right data with optimal query performance.

Example 2: Calculate error rate by service

  1. You need error count and total request count at the service level -- no per-interface breakdown.

  2. Use the most reduced-dimension variants for both metrics.

sum_over_time(arms_app_requests_error_count_ign_destid_endpoint_parent_ppid_prpc_rpc[5m])
/
sum_over_time(arms_app_requests_count_ign_destid_endpoint_parent_ppid_prpc_rpc[5m])

Example 3: Monitor slow database queries

  1. The Database category tracks slow requests.

  2. You need the database name (destId) and endpoint, but not the query method (rpc).

Best choice: arms_db_requests_slow_count_ign_rpc

JVM metrics

All JVM metrics use a 15-second collection interval.

Common dimensions

DimensionKey
Service nameservice
Service PIDpid
Machine IPserverIp

Garbage collection

Metric nameMetricTypeUnit
Total GC countarms_jvm_gc_totalCounter--
Total GC durationarms_jvm_gc_seconds_totalCounterSeconds
GC count per intervalarms_jvm_gc_deltaGauge--
GC duration per intervalarms_jvm_gc_seconds_deltaGaugeSeconds

Dimensions:

  • Generational GC area: Young (young generation), Old (old generation)

  • Cause (agent V4.4.0+): The GC trigger reason. Common causes include:

CauseDescription
Allocation FailureJVM could not allocate memory for a new object, indicating memory pressure
System.gc()Triggered by an explicit System.gc() call in application code
Heap Dump Initiated GCTriggered during a heap dump operation
Metadata GC ThresholdTriggered when metaspace usage reaches the threshold
G1 Evacuation PauseG1 collector evacuation pause
G1 Humongous AllocationG1 collector humongous object allocation
No GCJVM triggered GC based on internal heuristics (such as CMS heap usage prediction) rather than a specific condition

All GC causes

  • System.gc()

  • FullGCAlot / ScavengeAlot

  • Allocation Profiler

  • JvmtiEnv ForceGarbageCollection

  • Heap Inspection Initiated GC / Heap Dump Initiated GC

  • WhiteBox Initiated Young GC / WhiteBox Initiated Full GC / Run to Breakpoint

  • No GC

  • Allocation Failure

  • CodeCache GC Threshold / Aggressive

  • Metadata GC Threshold / Clear Soft References

  • G1 Evacuation Pause / G1 Compaction Pause / G1 Humongous Allocation / G1 Periodic Collection

  • Diagnostic Command

  • Shenandoah GC causes

  • ZGC causes (Timer, Warmup, Allocation Rate, Proactive, etc.)

  • ILLEGAL VALUE

Threads

Metric nameMetricTypeUnit
JVM thread countarms_jvm_threads_countGauge--

Dimension -- State:

Blocked, Live, Daemon, New, Dead-lock, Runnable, Terminated, Timed-wait, Wait

Memory

Metric nameMetricTypeUnit
Initial memory sizearms_jvm_mem_init_bytesGaugeBytes
Maximum memory sizearms_jvm_mem_max_bytesGaugeBytes
Used memory sizearms_jvm_mem_used_bytesGaugeBytes
Committed memory sizearms_jvm_mem_committed_bytesGaugeBytes
Memory usage ratioarms_jvm_mem_usage_ratioGaugeRatio (0-1)

Dimensions:

  • Area: Heap, Nonheap, Total

  • ID (region breakdown): Eden, Old, Survivor, Metaspace, Code cache, Compressed class space, Total

Classes

Metric nameMetricTypeUnit
Loaded classesarms_class_load_loadedCounter--
Unloaded classesarms_class_load_un_loadedCounter--

Buffer pools

Metric nameMetricTypeUnit
Buffer pool total sizearms_jvm_buffer_pool_total_bytesGaugeBytes
Buffer pool used sizearms_jvm_buffer_pool_used_bytesGaugeBytes
Buffer pool countarms_jvm_buffer_pool_countGauge--

Dimension -- ID: Direct, Mapped

File descriptors

Metric nameMetricTypeUnit
Open file descriptorsarms_file_desc_open_countGauge--
Open file descriptor ratioarms_file_desc_open_ratioGaugeRatio (0-1)

System metrics

All system metrics are Gauge type with a 15-second collection interval.

Common dimensions

DimensionKey
Service nameservice
Service PIDpid
Machine IPserverIp

CPU

Metric nameMetricUnit
CPU idlearms_system_cpu_idlePercentage
CPU I/O waitarms_system_cpu_io_waitPercentage
CPU systemarms_system_cpu_systemPercentage
CPU userarms_system_cpu_userPercentage
System load (1 min)arms_system_load--

Disk

Metric nameMetricUnit
Free disk spacearms_system_disk_free_bytesBytes
Total disk spacearms_system_disk_total_bytesBytes
Disk usage ratioarms_system_disk_used_ratioRatio (0-1)

Memory

Metric nameMetricUnit
Buffer sizearms_system_mem_buffers_bytesBytes
Cache sizearms_system_mem_cached_bytesBytes
Free memoryarms_system_mem_free_bytesBytes
Free swaparms_system_mem_swap_free_bytesBytes
Total swaparms_system_mem_swap_total_bytesBytes
Total memoryarms_system_mem_total_bytesBytes
Used memoryarms_system_mem_used_bytesBytes

Network

Metric nameMetricUnit
Inbound trafficarms_system_net_in_bytesBytes
Outbound trafficarms_system_net_out_bytesBytes
Inbound errorsarms_system_net_in_err--
Outbound errorsarms_system_net_out_err--

Thread pool and connection pool metrics

Metric names and dimensions differ between agent versions. Check your agent version and refer to the matching section.

Agent V4.1.x and later

All metrics use a 15-second collection interval.

Thread pool metrics

Metric nameMetricType
Core thread countarms_thread_pool_core_pool_sizeGauge
Maximum thread countarms_thread_pool_max_pool_sizeGauge
Active thread countarms_thread_pool_active_thread_countGauge
Current thread countarms_thread_pool_current_thread_countGauge
Peak thread countarms_thread_pool_max_thread_countGauge
Scheduled task countarms_thread_pool_scheduled_task_countCounter
Completed task countarms_thread_pool_completed_task_countCounter
Rejected task countarms_thread_pool_rejected_task_countCounter
Task queue sizearms_thread_pool_queue_sizeGauge

Dimensions:

DimensionKeyExample
Thread name patternthread_name_patternhttp-nio-8080-*
Thread pool purposethread_pool_usageTomcat, Dubbo, Undertow

Connection pool metrics

Metric nameMetricType
Connectionsarms_connection_pool_connection_countGauge
Minimum idle connectionsarms_connection_pool_connection_min_idle_countGauge
Maximum idle connectionsarms_connection_pool_connection_max_idle_countGauge
Maximum connectionsarms_connection_pool_connection_max_countGauge
Pending connection requestsarms_connection_pool_pending_request_countCounter

Dimensions:

DimensionKeyDescription
Connection statestateused or idle (applies to arms_connection_pool_connection_count only)
Connection pool typepool_typeDruid, c3p0, etc.
Database connection stringurlJDBC connection URL

Agent versions earlier than V4.1.x

If you use agent V4.1.x or later, refer to the previous section instead.

All metrics are Gauge type with a 15-second collection interval.

Common dimensions: service, pid, serverIp, name (thread pool name), type (thread pool type)

Metric nameMetric
Core pool sizearms_threadpool_core_size
Maximum pool sizearms_threadpool_max_size
Active thread countarms_threadpool_active_size
Queue sizearms_threadpool_queue_size
Current pool sizearms_threadpool_current_size
Task count by statearms_threadpool_task_total

Dimension for arms_threadpool_task_total -- Status: Scheduled, Completed, Rejected

Scheduled task metrics

Available only for scheduled tasks.

All metrics are Gauge type with a 15-second collection interval.

Common dimensions

DimensionKey
Service nameservice
Service PIDpid
Machine IPserverIp
Task IDrpc

Metric list

Metric nameMetricUnit
Scheduling delayarms_$callType_delay_millisecondsMilliseconds

Replace $callType with the scheduled task type: xxl_job, spring_scheduled, quartz, elasticjob, jdk_timer, or schedulerx.

Go runtime metrics

All Go runtime metrics use a 15-second collection interval.

Common dimensions

DimensionKey
Service nameservice
Service PIDpid
Machine IPserverIp

Metric list

Metric nameMetricType
Application uptimearms_golang_runtime_uptimeInt64Counter
Goroutine countarms_golang_process_runtime_go_goroutinesGauge
Heap allocated memoryarms_golang_process_runtime_go_mem_heap_allocGauge
Idle heap memoryarms_golang_process_runtime_go_mem_heap_idleGauge
In-use heap memoryarms_golang_process_runtime_go_mem_heap_inuseGauge
Heap object countarms_golang_process_runtime_go_mem_heap_objectsGauge
Released heap memoryarms_golang_process_runtime_go_mem_heap_releasedGauge
System-requested virtual memoryarms_golang_process_runtime_go_mem_heap_sysGauge
Live object countarms_golang_process_runtime_go_mem_live_objectsGauge
GC cycle countarms_golang_process_runtime_go_gc_countGauge
Cumulative STW GC pause timearms_golang_process_runtime_go_gc_pause_total_nsInt64Counter
GC pause time distributionarms_golang_process_runtime_go_gc_pause_nsInt64Histogram

Service access types and dimensions

When querying business metrics (arms_$callType_requests_*), replace $callType with one of the access types listed below. Each category has its own set of available dimensions.

Client-side types

Access types: http_client, dubbo_client, hsf_client, dsf_client, notify_client, grpc_client, thrift_client, sofa_client, mq_client, kafka_client

DimensionKeyDescription
Upstream service nameparentCaller service
Upstream service PIDppidCaller process ID
Peer extended infodestIdAdditional request peer metadata
Peer addressendpointRequest peer address
Exception IDexcepTypeException identifier
Exception encoding ruleexcepInfoException ID encoding format
Exception nameexcepNameException class name
Stack trace IDstackTraceIdTrace identifier for stack analysis

Database types

Access types: mysql, oracle, mariadb, postgresql, ppas, sqlserver, mongodb, dmdb

DimensionKeyDescription
Upstream service nameparentCaller service
Upstream service PIDppidCaller process ID
Database namedestIdTarget database
Database addressendpointConnection endpoint
Exception IDexcepTypeException identifier
Exception encoding ruleexcepInfoException ID encoding format
Exception nameexcepNameException class name
Stack trace IDstackTraceIdTrace identifier for stack analysis
SQL statement IDsqlIdSQL identifier

Server-side types

Access types: http, dubbo, hsf, dsf, user_method, mq, kafka, grpc, thrift, sofa

DimensionKeyDescription
Upstream interfaceprpcCaller interface
Upstream service nameparentCaller service
Upstream service PIDppidCaller process ID
Service addressendpointAddress of the service
Exception IDexcepTypeException identifier
Exception encoding ruleexcepInfoException ID encoding format
Exception nameexcepNameException class name
Stack trace IDstackTraceIdTrace identifier for stack analysis

Scheduled task types

Access types: xxl_job, spring_scheduled, quartz, elasticjob, jdk_timer, schedulerx

DimensionKeyDescription
Upstream interfaceprpcCaller interface
Upstream service nameparentCaller service
Upstream service PIDppidCaller process ID
Exception IDexcepTypeException identifier
Exception encoding ruleexcepInfoException ID encoding format
Exception nameexcepNameException class name
Stack trace IDstackTraceIdTrace identifier for stack analysis

References