All Products
Search
Document Center

Application Real-Time Monitoring Service:Diagnose slow page loading

Last Updated:Mar 11, 2026

Slow page loading degrades user experience and is difficult to troubleshoot -- each user's load time varies by region, network, browser, and carrier, making the problem hard to reproduce. Most browser monitoring tools rely on the PerformanceTiming object, which captures only the full-page load time and excludes individual static resources like scripts, stylesheets, and images. Without resource-level visibility, you cannot pinpoint performance bottlenecks.

Application Real-Time Monitoring Service (ARMS) Browser Monitoring solves this with slow session tracing: a resource-level waterfall chart that replays exactly how a page loaded for a specific user session. This guide walks through enabling resource reporting, identifying slow sessions, and reading the waterfall chart to find the root cause.

Prerequisites

  • A web application connected to ARMS Browser Monitoring. See Implement browser monitoring by using CDN.

  • Enable Page Resources Reporting selected during setup.

    Important

    The ARMS Browser Monitoring SDK does not report static resource data by default. Slow session tracing requires this option. Without it, the waterfall chart has no resource-level data to display.

How it works

When page resource reporting is enabled, the ARMS Browser Monitoring SDK captures timing data for every static resource loaded on the page. Slow sessions automatically appear in the Slow Page Session Trace (TOP20) list on the Page Speed page. Selecting a session opens a waterfall chart that visualizes how each resource loaded and where time was spent.

Identify slow-loading pages

Two methods are available: start from aggregate page speed metrics to find problem pages, or search session traces directly when you already know which user or session to investigate.

Method 1: Start from page speed metrics

  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 target application.

  3. In the left-side navigation pane, choose Application > Page Speed. The Page Speed page shows page load metrics over time. Look for spikes in load time that indicate performance degradation. For example, the page is completely loaded in 36.7s at 11:00. For details about these metrics, see Page loading speed.

    Details of the page loading time

  4. Scroll down to the Slow Page Session Trace (TOP20) section. The list shows the 20 slowest sessions within the selected time range. Each entry shows the page URL, session time, and total load duration. In this example, a session is loaded in 36.72s at 11:36:46, which causes the spike in the page loading time.

    Slow Page Session Trace (TOP20) section

  5. Click a page name in the Page column to open the Slow Loading Details page.

  6. Review the session details:

    • Page Information (upper section): Shows the client IP address, browser, and operating system for this session. Use this to determine whether the issue is specific to a particular browser, region, or device. Slow Loading Details page

    • Page Resource Loading Waterfall (lower section): Displays a waterfall chart of every static resource loaded during the session. Each bar represents one resource and shows its timing breakdown. Page Resource Loading Waterfall section

Method 2: Search session traces directly

Use this method when you already have a specific username, user ID, or session ID to investigate.

  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 target application.

  3. In the left-side navigation pane, choose Application > Session Traces.

  4. In the Session List section, filter sessions by username, user ID, or session ID to locate the target session.

  5. Click the session name to open the Session Tracking Details page and review the waterfall chart.

For more details about session tracing, see Slow session tracing.

Read the waterfall chart

The waterfall chart is the primary diagnostic tool. Each horizontal bar represents a single resource -- a JavaScript file, CSS file, image, or font. The bar's position on the timeline shows when loading started, and its length shows how long it took.

Resource timing phases

Each bar in the waterfall chart can be broken down into timing phases. Understanding these phases helps you identify whether a bottleneck is network-related, server-related, or bandwidth-related.

PhaseWhat it measuresDiagnosis
DNS lookupTime to resolve the domain name to an IP addressHigh values indicate DNS resolution issues. Consider using DNS prefetching or a faster DNS provider.
TCP connectionTime to establish a TCP connection with the serverHigh values suggest network latency. Check whether a closer CDN edge node is available.
SSL/TLS handshakeTime spent on the TLS handshake for HTTPS connectionsHigh values may indicate the need for TLS session resumption or upgrading to TLS 1.3.
Time to first byte (TTFB)Time from sending the request to receiving the first byte of the responseHigh values point to slow server-side processing. Investigate backend API performance.
Content downloadTime to download the full response bodyHigh values indicate large resource size or low bandwidth. Consider compression or reducing resource size.

Common waterfall patterns

PatternWhat it meansLikely fix
Long bar early in the timelineA blocking resource delays everything after itDefer or async-load the resource
Many bars stacking sequentiallyResources load one at a time instead of in parallelCheck for render-blocking resources or HTTP/1.1 connection limits
One resource much longer than othersA single large or slow resourceCompress the resource, use a CDN, or optimize server response time
Long gap before a resource startsThe browser waits for a prerequisite to finishReview dependency chains and loading order
Multiple bars with long DNS/connection phasesRepeated connection setup to many different domainsReduce the number of third-party domains or use connection preloading
Large download phase on specific resourcesUncompressed or oversized resourcesEnable gzip/Brotli compression, optimize images, or minify JavaScript and CSS

Diagnostic checklist

After opening the waterfall chart, check for these common issues:

  • Uncompressed text resources: JavaScript, CSS, and HTML files served without gzip or Brotli compression.

  • Oversized resources: Individual resources that could be optimized (minified, compressed, or split).

  • Poor cache utilization: Resources loaded repeatedly without browser caching. Check Cache-Control headers.

  • Slow third-party resources: External scripts (analytics, ads, social widgets) that block page rendering.

  • Render-blocking resources: CSS or synchronous JavaScript in the <head> that delays first paint.

What's next

References