Introduction
Waterfall charts show you every resource that loads when your page renders, helping you diagnose performance issues and optimize load times. Whether you need quick AI-powered insights or detailed technical analysis, waterfall data helps you understand what's slowing down your pages and what to fix first.
What you can analyze with Waterfall:
- Page load performance: Identify slow-loading resources, render-blocking scripts, and bottlenecks affecting user experience
- Resource timing: See when each asset (images, JavaScript, stylesheets, third-party tools) loads and how long it takes
- Third-party impact: Understand how external scripts and services affect your page performance
- Network requests: Analyze HTTP requests, response times, and connection detailsWaterfall charts help you understand why your web pages are loading slowly and identify what to fix first.
Two ways to analyze:
- Waterfall Summary (AI-powered): Get plain-language insights and prioritized recommendations without technical expertise
- Detailed Waterfall chart: Access complete technical data including timing breakdowns, HTTP headers, and request-level details
You can access the interactive waterfalls in Synthetic Monitoring reports (standalone and comparison reports) and within the detailed step reports of Synthetic Monitoring's Scenario feature.
Analyze performance with Waterfall summary
What is Waterfall Summary?
Waterfall Summary uses Generative AI to translate complex network waterfall charts into plain, non-technical language, helping you quickly identify and communicate performance issues without needing technical waterfall expertise.
With Waterfall Summary, you can:
- Understand performance problems without needing to interpret technical charts
- Quickly identify the biggest issues to fix first
- Explain performance problems clearly to your team
- Make data-driven decisions about what to prioritize
Important: To access Waterfall Summary, the AI Schedule must be part of your contract with Contentsquare or accepted by an Admin user on your account. Learn more about how to activate Sense capabilities.
Generate a Waterfall Summary
You can generate a Waterfall Summary from any Synthetic Monitoring Report in two ways:
From the Reports page:
- Click 'View' on the report you want to view.
- Scroll down the report.
-
Click ‘Summarize waterfall’ to open the Waterfall Summary side panel.
When viewing the waterfall chart
- Open a Synthetic Monitoring Report and navigate to the ‘Waterfall section’.
-
Click ‘Summarize waterfall’ at the top of the page to open the Waterfall Summary side panel.
The summary, which provides both the AI-generated explanation and technical details, appears in a side panel.
Understand the Waterfall summary
Each summary is organized into three main sections to help you understand and act on performance issues:
- Key insights: A plain-language breakdown of the main performance findings, including load times, JavaScript tasks, and resource issues impacting user experience.
- Potential issues: Information about detected performance bottlenecks, such as large JavaScript bundles, high number of requests, or render-blocking resources
- Recommendations: Actionable suggestions for addressing each identified issue, expandable for more detail
Tip: You can copy the summary to share with other team members.
Analyze performance with the detailed Waterfall chart
Chart breakdown
Timings
The Timings section lists the values of all performance metrics for the page. Select the metrics you want to display on the waterfall (as vertical lines), so you can analyze them with the related network traffic.
Select Largest Contentful Paint (LCP) to see the related request if the LCP is triggered by an image.
Long tasks
Long Tasks (web browser being busy for more than 50ms) and the Total Blocking Time value. The Long Task(s) related to the Max Potential FID are highlighted in a different color.
Waterfall
The waterfall displays the sequential list of all HTTP requests.
By default, the report will show:
- The HTTP method (in most cases GET or POST).
- The URL (hover over the name to see the full URL)
- The HTTP Status (200, 301, 404, etc.)
- The response size
- Its placement on a time axis, with a breakdown of the different steps between establishing the connection and receiving the response
Waterfall detailed values
Hover over the request representation to obtain detailed values on the request and response time milestones.
- DNS Lookup: the time required for DNS resolution.
- Connecting: the time needed to establish the TCP (and possibly SSL) connection required for HTTP communication.
- Waiting: the time between the HTTP request being sent and the start of the response being received.
- Receiving: the time between the beginning and the end of receiving the response.
In order to realistically reproduce the context of an Internet user, Synthetic Monitoring injects latency on all these steps, with the exception of the DNS Lookup. All observed delays are therefore dependent on the nature of the connection configured for your tests. This is especially true for the Connecting step, which will suffer latency on both the TCP connection and on the SSL connection (if applicable).
Please note that the DNS Lookup and Connecting steps will not always be present. DNS resolution is required only once per domain, and TCP (and SSL if applicable) connection will only be required if an existing TCP connection is not used.
See more info on resource
Click anywhere on the line to see more information on a given request/response.
You can find the full URL of the request, the related IP address, the HTTP headers of the request and finally of the response.
Filters and customization
- Click 'Customize columns' to customize your display settings.
| Column name | Description |
| Method | The HTTP method used by the request (GET, POST, PUT, etc) |
| URL | The name of the resource - The full URL is displayed when hovering over the name. |
| Domain | The domain you are sending the request to (e.g. example.com). |
| Status | The status of the HTTP response (200, 301, 404, etc.), of the cache ("from cache") or the error on the request (e.g. "Request blocked by the browser" if you use our AdBlock or Blocklist / Allowlist features). |
| Type | The type of content associated with the request (Stylesheet, Image, XHR, etc). |
| Size | Reponse size (as transferred over the network, will be the compressed size of the resource if it is compressed). Hover the value to get some details. |
| Protocol | The protocol (http/1.1, h2, etc.) |
| Scheme | The URL scheme (http,https, wss, etc) |
| Remote Address | The IP address of the server (obtained after domain DNS resolution by Google DNS 8.8.8.8) |
| Initiator | The resource and related source code line initially triggering the request (example: analytics.js: 28). Any associated call stack will be available when hovering over the Initiator value. |
| Time | The total time between sending the request and retrieving the complete response. |
| Priority | The priority given to the request by the web browser. |
| Timings | The chronological breakdown of the various stages of the request/response communication. |
- Use the 'URL filter' to display only the requests containing the chosen text in the full URL
You can also filter the requests according to their types (Script, XHR etc).
These 2 types of filters can be used independently as well as in combination. The area at the bottom left of the waterfall will show you the number and weight of the filtered elements compared to the total of the requests.
You can click on any column name to sort the waterfall elements according to the value of this information. A first click will apply an ascending sort. Click a second time to obtain a descending sort.
Tip: A good approach to study your third-party content (external dependencies) is to display the Domain and Initiator columns and then use the sorting features on those columns.