Alert condition metrics in ARMS Real User Monitoring (RUM) define what an alert rule evaluates, and metric dimensions define the filter conditions that narrow the evaluated data. This topic lists the metrics and the dimensions that are available for each RUM metric type.
How to read the metric tables
RUM supports four metric types: Exception monitoring, Page monitoring, Resource monitoring, and Stuttering monitoring. The metric dimensions of a metric type serve as the filter conditions of an alert rule.
The following conventions apply to every metric and dimension table in this topic:
Time granularity — The minimum time granularity of all alert metrics is 1 minute.
Metric name — The Metric name column lists the name of the metric followed by its metric ID in parentheses.
Dimensions — All metric types support the common dimensions. A metric type can also have its own dimensions, which are listed together with the metrics of that type.
Common dimensions
The following table describes the common dimensions, which all RUM metric types support.
| Dimension | Dimension name | Dimension description |
| appType | Application type | The application type, which is specified by both the reporting client and the data stream. Valid values: Android, iOS, Web, and MiniApp. |
| appEnv | Application environment type | The application environment type, which distinguishes between environments such as production (Prod, default), grayscale (Gray), and pre-release (Pre). |
| deviceBrand | Device brand | The brand of the client device, such as Mac, iPad, VIVO, or Redmi. |
| osType | Operating system type | The operating system type reported by the device. |
| osContainer | Application runtime environment or name | The runtime environment or name of the application, such as Chrome Mini Program (host application), PC (type of the browser), or App (application name). |
| geoCountry | Country | The country name. |
| geoProvince | Province | The province name. |
| geoCity | City | The city name. |
| ispName | ISP name | The ISP name. |
| viewName | Page name | The name of the associated page. |
Metric details
Each of the following sections lists the metrics of one metric type, followed by the dimensions that you can use as filter conditions for those metrics.
Exception monitoring
Metric description
The following table describes the exception monitoring metrics.
| Metric name | Unit | Aggregate metric | Metric description |
| Exception count (exception.count) | None | Yes | The number of exceptions. If the same error occurs repeatedly within a short period of time, it does not need to be reported multiple times. The default value is 1. |
Metric dimensions
The following table describes the dimensions that you can use as filter conditions for exception monitoring metrics.
| Dimension | Dimension name | Dimension description |
| exceptionName | Error name | The secondary category of the error type. |
| exceptionType | Error type | Valid values: Crash, Custom (custom error), and error (execution error). |
| exceptionSource | Error source | The source of the error, such as Console or Event. |
| exceptionMessage | Error content | The detailed error message. |
Page monitoring
Metric description
The following table describes the page monitoring metrics.
| Metric name | Unit | Aggregate metric | Metric description |
| First contentful paint duration (view.first_contentful_paint) | None | No | The blank screen time, also known as the FCP time. The point in time when the browser first renders text, an image (including a background image), a non-white canvas, or an SVG. |
| Page load duration (view.dom_complete) | ms | No | The DOM and all sub-resources are ready. The loading indicator has stopped spinning for the user. |
| First input delay duration (view.first_input_time) | ms | No | The time from when the view is loaded to the user's first interaction. |
| Largest contentful paint duration (view.largest_contentful_paint) | ms | No | The point in time during page load at which the largest DOM object in the viewport (the largest content block displayed on the screen) starts to render. A value greater than 2.5 seconds indicates slow loading. |
| Cumulative layout shift (view.cumulative_layout_shift) | ms | No | Quantifies unexpected page movement caused by dynamically loaded content, such as third-party ads. A value of 0 indicates that no shift occurred. |
| DOM load duration (view.dom_content_loaded) | ms | No | The event that is triggered when the initial HTML document is completely loaded and parsed, without waiting for non-render-blocking resources such as stylesheets, images, and subframes to finish loading. |
| DOM interactive duration (view.dom_interactive) | ms | No | The time to first interaction. |
| Full load duration (view.load_event) | ms | No | The event that is triggered when the page is fully loaded. It is typically used as a trigger for additional application logic. |
Metric dimensions
Page monitoring defines no dimensions of its own. Only the common dimensions apply to page monitoring metrics.
Resource monitoring
Metric description
The following table describes the resource monitoring metrics.
| Metric name | Unit | Aggregate metric | Metric description |
| DNS duration (resource.dns_duration) | ms | No | The time spent resolving the DNS name of the last request. Formula: domainLookupEnd - domainLookupStart |
| Redirection duration (resource.redirect_duration) | ms | No | The time spent redirecting the HTTP request. Formula: redirectEnd - redirectStart |
| Total duration (resource.duration) | ms | No | The total time spent loading all resources. Formula: responseEnd - redirectStart |
| TCP connection duration (resource.connection_duration) | ms | No | The time spent establishing a connection with the server. Formula: connectEnd - connectStart |
| SSL duration (resource.ssl_duration) | ms | No | The time spent on the TLS handshake. This metric is not displayed if the last request was not sent over HTTPS. Formula: connectEnd - secureConnectionStart |
| First byte duration (resource.first_byte_duration) | ms | No | The time spent waiting to receive the first byte of the response. Formula: responseStart - requestStart |
| Load duration (resource.download_duration) | ms | No | The time spent downloading the response. Formula: responseEnd - responseStart |
| Resource count (resource.count) | None | Yes | The total number of resources. |
| Resource size (resource.size) | Bytes | No | The resource size, which corresponds to decodedBodySize. |
Metric dimensions
The following table describes the dimensions that you can use as filter conditions for resource monitoring metrics.
| Dimension | Dimension name | Dimension description |
| resourceName | Resource name | The path part of the URL by default. It can be matched based on rules or configured by the user. |
| resourceType | Resource type | The type of the collected resource, such as CSS, JavaScript, Media, XHR, Image, or Navigation. |
| resourceSuccess | Resource load success | Indicates whether the resource is loaded successfully. Valid values: 1 (success), 0 (failed), and -1 (unknown). |
| resourceStatusCode | Resource status code | The resource status code, such as 2xx, 5xx, or 4xx. |
Stuttering monitoring
Metric description
The following table describes the stuttering monitoring metrics.
| Metric name | Unit | Aggregate metric | Metric description |
| Stuttering duration (resource.dns_duration) | ms | No | The duration of a single stuttering event. |
| Stuttering count (resource.redirect_duration) | None | Yes | The number of stuttering events. If stuttering occurs repeatedly within a short period of time, it does not need to be reported multiple times. The default value is 1. |
Metric dimensions
The following table describes the dimensions that you can use as filter conditions for stuttering monitoring metrics.
| Dimension | Dimension name | Dimension description |
| longtaskSource | Stuttering source | The stuttering source. |
| longtaskType | Stuttering type | The stuttering type. |