Application Performance Index Apdex is an international application performance calculation standard. According to Apdex, user experience of an application can be divided into three levels:
- Satisfactory (0 to T)
- Tolerating (T to 4T)
- Frustrated (greater than 4T)
The calculation formula is:
Apdex = (Satisfactory samples + Tolerating samples/2)/Total samples
Image source: apdex.org
For ARMS, First Paint Time is taken into account. The default T value is 2 seconds.
In ARMS, JS stability refers to the JS error rate of pages.
If any JS error occurs in a PV cycle, this PV cycle is an error sample.
Error rate = Error samples/Total samples
Besides automatically reported JS errors, page errors also include errors reported by manually calling the error() method.
In ARMS, the access speed indicates the first paint time of the page by default.
In performance speed statistics, all data is calculated based on Navigation Timing APIs defined in W3C standards.
Image source: www.w3.org
Time consumed in each phase
|dns||DNS resolution time||domainLookupEnd - domainLookupStart|
|tcp||TCP connection time||connectEnd - connectStart|
|ssl||SSL secure connection time||connectEnd - secureConnectionStart||This field is valid only for HTTPS.|
|ttfb||Time to First Byte (TTFB), that is, network request time||responseStart - requestStart||TTFB can be calculated in more than one ways. ARMS uses the calculation method defined in Google Development Definitions.|
|trans||Data transmission time||responseEnd - responseStart|
|dom||DOM resolution time||domInteractive - responseEnd|
|res||Resource loading time||loadEventStart - domContentLoadedEventEnd||This field indicates synchronously loaded resources on the page.|
Key performance metrics
|firstbyte||First package time||responseStart - domainLookupStart|
|fpt||First Paint Time/blank screen time||responseEnd - fetchStart||The gap between the beginning of the request and the point when the browser starts to resolve the first batch of HTML bytes|
|tti||Time to Interact||domInteractive - fetchStart||After the browser completes HTML resolution and DOM creation, it starts to load resources.|
|ready||HTML loading completion time, that is, DOM ready time||domContentLoadEventEnd - fetchStart||If JSs are executed simultaneously on the page, the simultaneous JS execution time equals to “ready” minus “tti”.|
|load||Fully loaded time of the page||loadEventStart - fetchStart||load = First paint time + DOM resolution time + Simultaneous JS execution time + Resource loading time|
API success rate = Successful API calling samples/Total samples
Samples for calculating the API success rate include not only automatically reported AJAX requests, but also data reported by manually calling the api() method.