This topic describes the page loading speed detection and analysis features in browser monitoring of Application Real-Time Monitoring Service (ARMS).

After your application is connected to the ARMS browser monitoring feature, you can view the following performance data of the application on the Page Speed page:

Note You can manually report custom performance metrics, such as the first paint time (FPT) and time to interact. For more information, see API reference.

Procedure

  1. Log on to the ARMS console. In the left-side navigation pane, choose Browser Monitoring > Browser Monitoring.
  2. On the Browser Monitoring page, select a region in the top navigation bar and click the name of the application that you want to manage.
  3. In the left-side navigation pane, choose Application > Page Speed.
In the Page Speed section, you can rank the pages by FPT or page views (PVs), and change the display order by clicking the upward or downward arrow.
Page Speed

Details of the page loading time

Page Load Time Details
Note
  • In the Page Load Time Details section, the curve chart displays the average values of the metrics within the specified time range. The average value reflects the average performance over a period of time. However, this value is sensitive to extreme values and large fluctuations. For example, if the overall page loading speed is low due to the weak network connection of an access request, the average response time is long. You can click the Filter icon in the upper-right corner to remove extreme values. This way, the extreme values do not affect the overall performance trend.
  • If the data in the curve chart increases sharply, you can use the Performance Sample Distribution and Slow Page Session Trace(TOP20) sections to identify the issue.

Waterfall chart of page loading data

In the Page Load Waterfall Plot section, the waterfall chart shows the response time of each page loading stage in sequence. The chart displays the average value of a specific metric within a specified time range. To improve page loading performance, we recommend that you implement the countermeasures for stages based on the specific issues.

Page Load Waterfall Plot

Distribution of pages with different loading speeds

The Performance Distribution section shows the distribution of the pages with different loading speeds.

The Performance Stacked Area Chart tab displays a stack line chart that uses time as the horizontal axis. You can view the distribution of pages with different loading speeds at each point in time.

Figure 1. Performance Stacked Area Chart tab
Performance View

On the Performance Sample Distribution tab, you can view the proportion of the sample pages with a specific loading speed in a time range. For example, you can view the number of pages that can be opened within 1 second and the proportion of samples of long-tail users.

Figure 2. Performance Sample Distribution tab
Performance Sample Distribution

Traces of slow page sessions

The Slow Page Session Trace(TOP20) section provides a performance waterfall chart of static resource loading during the page loading process. In this section, you can view the status of page resource loading based on page performance data. This allows you to identify and handle performance bottlenecks at the earliest opportunity. For more information, see Session tracing.

Slow Page Session Trace

Factors that affect page loading performance

A page is loaded on the browser of a user. The loading time is determined by specific factors. These factors include the geographical location, network condition, browser, and carrier. Therefore, the browser monitoring feature provides the statistics on geographical distribution, terminal distribution, network distribution, and version distribution. This allows you to identify performance bottlenecks.

Figure 3. Terminal distribution
Device View
Figure 4. Network condition distribution
Network View
Figure 5. Version distribution
Version View

Performance metrics

Table 1. Key performance metrics of web pages
Reported fieldDescriptionFormulaRemarks
FMPThe First Meaningful Paint (FMP).For more information, see Technical solution of FMP.None
FPTThe FPT.responseEnd - fetchStartThis field indicates the duration from the point in time when a request is initiated to the point in time when the browser begins to parse the bytes of the first batch of HTML documents.
TTIThe time to interact (TTI).domInteractive - fetchStartThis field indicates the point in time when the browser starts to load resources after it resolves all HTML documents and constructs the document object model (DOM).
ReadyThe time consumed to complete HTML loading, which is the time consumed to construct the DOM. domContentLoadEventEnd - fetchStartIf a JS script is synchronously executed on the page, the execution time of the JS script can be calculated based on the following formula: Execution time of the JS script = Ready - TTI.
LoadThe time consumed to completely load the page.loadEventStart - fetchStartThis field can be calculated based on the following formula: Load = FPT + DOM + (Ready - TTI) + Res.
FirstByteTime to first packetresponseStart - domainLookupStartNone
Table 2. Fields that describe the time consumed in each phase
Reported fieldDescriptionFormulaRemarks
DNSThe time consumed for Domain Name System (DNS) query.domainLookupEnd - domainLookupStartNone
TCPThe time consumed for Transmission Control Protocol (TCP) connection.connectEnd - connectStartNone
TTFBThe time to first byte (TTFB), which indicates the time consumed to respond to a request.responseStart - requestStartTTFB can be calculated in different ways. For more information about how TTFB is calculated in ARMS, see Google development definition.
TransThe time consumed for data transmission.responseEnd - responseStartNone
DOMThe time consumed for DOM resolution.domInteractive - responseEndNone
ResThe time consumed for resource loading.loadEventStart - domContentLoadedEventEndThe time consumed to synchronously load resources on the page.
SSLThe time consumed for Secure Sockets Layer (SSL) connection.connectEnd - secureConnectionStartThis field is valid only when HTTPS is used to transmit data.