All Products
Search
Document Center

Application Real-Time Monitoring Service:Statistical metrics

Last Updated:Mar 11, 2026

ARMS Browser Monitoring collects performance, stability, and API metrics from web pages and mini programs. This page defines each metric, its calculation formula, and the fields available in Browser Monitoring logs.

Performance metrics are collected through the Navigation Timing API defined by the W3C.

Apdex (user satisfaction)

Application Performance Index (Apdex) is an open standard that quantifies user satisfaction with application response time. Apdex classifies every sample into one of three categories based on a configurable threshold T:

CategoryResponse timeMeaning
Satisfied0 to TThe application responds fast enough that the delay is imperceptible.
ToleratingT to 4TThe response is noticeably slow, but the user can still complete the task.
FrustratedGreater than 4TThe response is so slow that the user may abandon the task.

Formula:

Apdex = (Satisfied count + Tolerating count / 2) / Total sample count
Apdex formula

In ARMS, Apdex is calculated against First Paint Time (FPT), with a default threshold of T = 2 seconds.

JS stability

JS stability measures how often JavaScript errors affect page views (PVs).

If at least one JS error occurs during a PV cycle, that cycle counts as an error sample.

Formula:

JS error rate = Error sample count / Total sample count

Error samples include both automatically reported JS errors and errors reported through the SDK methods API.

Access speed

Access speed is measured by the First Paint Time (FPT) -- the time from when the browser initiates a request to when it begins parsing the first batch of HTML.

The following diagram shows how each timing metric maps to the page load process defined by the W3C Navigation Timing API:

Navigation Timing

Web page performance metrics

These metrics capture the overall page load experience.

Reported fieldTypeDescriptionFormulaRemarks
FMPnumber (ms)First Meaningful Paint. The point at which the primary content is visible.N/AN/A
FPTnumber (ms)First Paint Time. Time from request initiation to the browser parsing the first batch of HTML.responseEnd - fetchStartN/A
TTInumber (ms)Time to Interactive. Time from request initiation until the browser finishes parsing HTML, constructs the DOM, and starts loading resources.domInteractive - fetchStartN/A
Readynumber (ms)DOM ready time. Time to fully load and parse HTML into the DOM.domContentLoadEventEnd - fetchStartIf synchronous JS executes on the page, its execution time = Ready - TTI.
Loadnumber (ms)Full page load time.loadEventStart - fetchStartLoad = FPT + DOM + (Ready - TTI) + Res.
FirstBytenumber (ms)Time to receive the first data packet from the server.responseStart - domainLookupStartN/A

Phase-level timing breakdown

These metrics break down the page load into individual network and rendering phases to help pinpoint bottlenecks.

Reported fieldTypeDescriptionFormulaRemarks
DNSnumber (ms)Time spent on DNS lookup.domainLookupEnd - domainLookupStartN/A
TCPnumber (ms)Time spent establishing a TCP connection.connectEnd - connectStartN/A
TTFBnumber (ms)Time to First Byte (TTFB). Time the server takes to respond after receiving the request.responseStart - requestStartFor details on how ARMS calculates TTFB, see Google's TTFB definition.
Transnumber (ms)Time spent transferring the response body.responseEnd - responseStartN/A
DOMnumber (ms)Time spent parsing the DOM.domInteractive - responseEndN/A
Resnumber (ms)Time spent loading synchronous resources on the page.loadEventStart - domContentLoadedEventEndN/A
SSLnumber (ms)Time spent on the TLS/SSL handshake.connectEnd - secureConnectionStartOnly applies to HTTPS connections.

Mini program performance metrics

Reported fieldTypeDescriptionFormulaRemarks
FPTnumber (ms)First Paint Time. Time from the mini program's onLaunch call to the onShow call of the first page.onShow (first page) - onLaunch (app)N/A

API call success rate

The API call success rate tracks how often API requests from your page complete successfully.

Formula:

API call success rate = Successful API call count / Total API call count

Samples include both automatically reported AJAX requests and data reported through the SDK methods API.

Log fields

ARMS Browser Monitoring logs contain the following fields. Use these field names when building queries in Simple Log Service or setting up alert rules.

Common fields

These fields are present in all log types.

FieldTypeDescription
uidstringUser ID. A searchable identifier for the user. You can set a custom value. If not set, the SDK auto-generates an ID and rotates it every six months.
usernamestringUsername. The SDK does not auto-assign a username. If not set, this field is empty.
releasestringApplication version ID.
environmentstringProduction environment identifier.
pagestringThe page URL.
samplingnumberSampling rate.
tagstringCustom tag for filtering and grouping.

API call fields

FieldTypeDescription
apistringThe API request URL, without query parameters.
msgstringThe response string returned by the API call.
codenumberHTTP status code.
timenumber (ms)Time consumed by the API call.
successbooleanWhether the API call succeeded.

JS error fields

FieldTypeDescription
msgstringError message.
stackstringStack trace.
catestringError type. Valid values: EvalError (related to eval()), RangeError (numeric value out of range), ReferenceError (invalid reference), SyntaxError (syntax error), TypeError (invalid variable or parameter type), URIError (invalid parameter passed to encodeURI() or decodeURI()), AggregateError (multiple errors from a single operation such as Promise.any()), or a custom error type.
filestringFile where the error occurred.
linenumberLine number of the error.
colnumberColumn number of the error.
timesnumberNumber of occurrences of this error.

Log types

ARMS Browser Monitoring generates the following log types. All log types share the common fields listed above.

Log typeType codeQueryable fields
PV logPVUploaded on the onload event. PV = total PV log count. UV = PV logs deduplicated by uid.
Performance logPerfAll performance metrics (FPT, TTI, Ready, Load, DNS, TCP, TTFB, and others).
Slow loading logRESSame as Performance log fields. Logged when page load time exceeds 8 seconds.
JS error logErrorError message, error file URL, error type.
API logAPIAPI name, response message, HTTP status code, response time, domain, success status, Trace ID.
SUM logSUMCustom key-value pair with an event name (for example, scroll-count).
AVG logAVGCustom key-value pair with an event name (for example, scroll-time).
Resource error logResourceErrorResource error details.
Custom logCustomUser-defined fields for custom business monitoring. Custom logs are generated only when you call the ARMS Agent API to report data. Custom log data is not displayed in the ARMS console. Query and analyze custom logs in the Simple Log Service console.