Metrics Description
Common Metrics
-
User Experience Score
A comprehensive score of the user experience during application usage based on eight metric dimensions: startup time, interactive time, first screen time, operation time, request response time, request error rate, crash rate, and stutter rate.
Scoring algorithm: Metric score = 100*(metric average - metric 90th percentile)/(metric 15th percentile - metric 90th percentile)
Linear transformation, converting each metric value into a score of [0, 100] according to high and low thresholds.
Application score = sum(metric weight * individual performance metric score)
Where the overall performance score is the sum of each weighted performance metric score.
-
Active Device Count
The number of active devices (deduplicated) for the application during the selected time period.
-
Startup Time
The average startup time of the application during the selected time period.
Calculation formula: (First startup total time + Cold startup total time + Hot startup total time)/(First startup count + Cold startup count + Hot startup count)
-
Interactive Time
The average interactive time of the application during the selected time period.
Calculation formula: Total interactive time / Total page open count
-
First Screen Time
The average first screen time of the application during the selected time period.
Calculation formula: Total first screen time / Total page open count
-
Operation Time
The average operation time of the application during the selected time period.
Calculation formula: Total operation time / Total operation count
-
Request Response Time
The average request response time of the application during the selected time period.
Calculation formula: Total request response time / Total successful request count
-
Request Error Rate
The average request error rate of the application during the selected time period.
Calculation formula: Total request error count / Total request count
-
Crash Rate
The crash rate of the application during the selected time period (Note: Crash rate startup count is calculated based on Tingyun SDK initialization count).
Calculation formula: Crash count / Total startup count
-
Stutter Rate
The stutter rate of the application during the selected time period.
Calculation formula: Stutter count / Startup count
Network Metrics
-
Request Response Time
The time from when the client initiates a request until the request is completed.
Calculation formula: Average response time = Response time / Successful request count
-
Client Time
The time spent by the client waiting to process the request response.
Calculation formula: Average client time = Total client time / Successful request count
-
Network Time
The time consumed by the request on the network (excluding client time).
Calculation formula: Average network time = (Response time - Client time) / Successful request count
-
DNS Time
The time taken by the client to convert a domain name to a numerical IP.
Calculation formula: Average DNS time = Total DNS time / Total DNS occurrence count
-
DNS Occurrence Count
The number of times DNS resolution actually occurred.
-
SSL Time
The time consumed to establish a Secure Sockets Layer (SSL) connection.
Calculation formula: Average SSL time = Total SSL time / Total SSL occurrence count
-
SSL Occurrence Count
The number of times SSL handshakes actually occurred.
-
TCP Time
The time to establish a TCP/IP connection.
Calculation formula: Average TCP time = Total TCP time / Total TCP occurrence count
-
TCP Occurrence Count
The number of times TCP connections were actually established.
-
First Packet Time
The time from the end of sending the HTTP request to receiving the first data packet returned by the server.
Calculation formula: Average first packet time = Total first packet time / Successful request count
-
Remaining Packet Time
The time consumed by the client to receive non-first data packets returned by the server.
Calculation formula: Average remaining packet time = Total remaining packet time / Successful request count
-
Throughput Rate
The average number of HTTP requests per minute, measured in RPM (Requests per minute).
Calculation formula: Throughput rate = Total request count / Time (min)
-
Reuse Rate
The TCP connection reuse strategy for requests. A higher reuse rate indicates higher request efficiency.
Calculation formula: Reuse rate = (1 - Connection establishment count / Total request count) * 100
-
Request Count
The total number of requests initiated by the client during the currently selected time period.
-
Successful Request Count
The number of requests with a response code of 200.
-
Normal Request Count
Successful request count minus slow request count.
-
Error Request Count
HTTP error (4xx, 5xx) count plus network error (request timeout, connection establishment failure, etc.) count.
-
Slow Request Count
The number of requests that meet the slow request threshold. If the download byte count is greater than 50kb, requests with a transfer rate less than 10kb/s are considered slow requests. If the download byte count is less than 50kb, requests with a response time greater than 2000 ms are considered slow requests.
-
HTTP Error Count
The number of times HTTP errors (4xx, 5xx) occurred.
-
Network Error Count
The number of times network errors (request timeout, connection establishment failure, etc.) occurred.
-
Slow Request Percentage
The ratio of slow request count to successful request count during the selected time period.
-
HTTP Error Rate
The ratio of HTTP error count to total request count during the selected time period (common HTTP errors: 4XX, 5XX).
-
Network Error Rate
The ratio of network error count to request count during the selected time period.
| Response Code | Error Type | Possible Error Causes |
|---|---|---|
| 901 | Unknown Host | Error during DNS resolution |
| 902 | Connection Failure | Error when connecting to the server |
| 903 | Connection Timeout | Waiting for server exceeded response time |
| 904 | Client Protocol Error | Network protocol error, e.g., http written as htt |
| 905 | Client Cancelled | Error thrown when forcibly interrupting a connection during network connection (download) |
| 906 | Illegal Response Content | Request content and response content are inconsistent |
| 907 | SSL Authentication Required | Exception that occurred during SSL certificate verification |
| 908 | SSL Certificate Error | Local SSL certificate does not match the server certificate |
-
Average Data Transfer Amount
The ratio of total traffic consumption to successful request count during the selected time period.
-
Upstream Traffic Consumption
The ratio of upstream traffic consumption to successful request count during the selected time period.
-
Downstream Traffic Consumption
The ratio of downstream traffic consumption to successful request count during the selected time period.
-
Transfer Rate
The ratio of traffic consumption to total response time during the selected time period.
Calculation formula: Transfer rate = Total traffic consumption / Total response time
-
CDN Network Time
The time consumed on the network by requests marked as CDN (excluding client time).
-
CDN Availability
The availability of requests marked as CDN.
Calculation formula: CDN availability = 1 - (CDN request total error count / CDN request total count)
-
CDN Transfer Rate
The transfer rate of requests marked as CDN.
-
Network Latency
The time required for a packet or datagram to be transmitted from one end of a network to the other.
-
Packet Loss Rate
The ratio of lost data packets to the total number of data packets sent during testing.
User Experience Metrics
-
Startup Count
The number of times a complete startup process is recorded.
-
First Startup Time
The first startup after the App is installed, which is a special type of cold startup.
Calculation method:
- Android: From the beginning of Application.attachbaseContext() to the end of MainActivity.onResume().
- iOS: From the main function startup time (SDK startup time) to the end of FirstVC.viewDidAppear().
-
Cold Startup Time
The process of starting the App again after the process has ended, or after exiting to the background and the process has been reclaimed by the system. The calculation method is the same as "First Startup".
-
Hot Startup Time
-
Android: Home key: From the beginning of Activity.onRestart() to the end of Activity.onResume(); Back key: From the beginning of Activity.onCreate() to the end of Activity.onResume().
-
iOS: From the beginning of applicationWillEnterForeground() to the end of applicationDidBecomeActive().
-
-
Startup Time
The time taken for application startup.
Calculation formula: Startup time = Total startup time / Total startup count
-
Initialization Time
- Android: From the end of Application.attachbaseContext() to the end of Application.onCreate().
- iOS: From the main function startup time (SDK startup time) to applicationDelegate.
-
Build Time
- Android: MainActivity init, from the end of Application.attachbaseContext() to the end of Application.onCreate().
- iOS: From the beginning of applicationDelegate.didFinishLaunchingWithOptions() to the beginning of FirstVC.loadView().
-
Page Load Time
- Android: If it's the home page, from the end of Application.onCreate() to the end of MainActivity.onResume(); if it's not the home page, from the end of MainActivity.onCreate() to the end of MainActivity.onResume().
- iOS: From the beginning of FirstVC.loadView() to the end of FirstVC.viewDidAppear().
-
Application Preparation Time
Android: From the beginning to the end of Application.attachbaseContext(). This metric is Android-specific and is only displayed in the single sample details data of Android startup experience analysis.
-
View Filling Time
From the end of Application.onCreate() to the end of MainActivity.onCreate().
-
Interaction Preparation Time
From the end of MainActivity.onCreate() to the end of MainActivity.onResume().
-
Page Open Count
The total number of times the current page has been opened.
-
First Screen Time
The time from page opening to content display completion (including network time).
Calculation method: From the beginning of the first lifecycle method to the end of the last asynchronous call method returning to the main thread.
-
Interactive Time
The time from page opening to when the user can interact normally.
Calculation time:
- Android: From the beginning of onCreat/onStart to the end of onResume.
- iOS: From the beginning of viewDidLoad/viewWillAppear to the end of the last viewDidAppear.
-
Slow First Screen Percentage
The percentage of pages with display time exceeding the set threshold, used to measure whether the current page displays content smoothly. The default threshold is 3000ms and is configurable.
Calculation formula: Slow first screen count / Page open count
-
Slow Interactive Percentage
The percentage of pages with interaction time exceeding the set threshold, used to measure whether the current page interaction process is complete. The default threshold is 1000ms and is configurable.
Calculation formula: Slow interactive count / Page open count
-
Operation Count
The total number of operations executed.
-
Available Operation Count
Available operation count = Total operation count - Failed operation count - Crash operation count
-
Availability
Availability = Available operation count / Total operation count
-
Belonging Page (Operation)
The name of the page to which the operation belongs (Android: Activity or Fragment name; iOS: VC name).
-
Operation Time
The total time taken for the operation (including the execution time of asynchronous methods).
-
Blocking Time
The execution time of the entry function during the operation (the user cannot perform any operations during the blocking process).
-
Smooth Operation Percentage (%)
Operations whose operation time has not reached the set threshold (default threshold 3s, configurable).
Calculation formula: Smooth operation percentage = Smooth operation count / Total operation count
-
Slow Operation Percentage (%)
Operations whose operation time exceeds the set threshold (default threshold 3s, configurable).
Calculation formula: Slow operation percentage = Slow operation count / Total operation count
-
Stutter Percentage (%)
Operations whose blocking time exceeds the set threshold (default threshold 3s, configurable).
Calculation formula: Stutter operation percentage = Stutter operation count / Total operation count
-
Crash Operation Percentage (%)
Operations during which the application crashes/exits unexpectedly.
Calculation formula: Crash operation percentage = Crash operation count / Total operation count
-
Failed Operation Percentage (%)
Operations during which the request error rate reaches 100% (if three requests are sent during an operation and all three requests encounter errors, then this operation is considered a failed operation).
Calculation formula: Failed operation percentage = Failed operation count / Total operation count
Exception Analysis
-
Startup Count
The startup count in exception analysis is based on the number of SDK initializations, including cold startup count and hot startup count.
Note: The startup count calculated in crashes will be greater than the startup count recorded in startup experience analysis.
-
Crash Count
The number of times crashes occurred.
-
Crash Rate (%)
The variation of application crash rate over time during the selected time period.
Calculation formula: Crash rate = Crash count / Startup count
-
Crash Device Percentage
Calculation formula: Crash device percentage = Affected device count / Active device count
-
Affected Device Count
The number of devices (deduplicated) that experienced crashes during the selected time period.
-
Active Device Count
The number of devices in an active state during the selected time period.
-
Stutter Count
The number of times stutters occurred.
-
Stutter Rate (%)
The variation of application stutter rate over time during the selected time period.
Calculation formula: Stutter rate = Stutter count / Startup count
-
Stutter Device Percentage
Calculation formula: Stutter device percentage = Affected device count / Active device count
-
Error Count
The number of times errors occurred during the selected time period.
-
Custom Error Rate (%)
The variation of application custom error rate over time during the selected time period.
Calculation formula: Custom error rate = Affected device count / Active device count
User Statistics
-
New User Count
The number of newly added devices during the selected time period.
-
Active Device Count
The number of devices in an active state during the selected time period.
-
Startup Count
Based on the number of SDK initializations, including cold startup count and hot startup count.
-
Average Usage Duration
Records the time users spend in the application.
Calculation formula: Average usage duration = Total usage duration / Session count
-
Daily Active Device Count
Records the number of devices (deduplicated) in an active state on the current day.
-
Monthly Active Device Count
Records the number of devices (deduplicated) in an active state in the current month.