REST API W3C metrics

For browser versions that support W3C (World Wide Web Consortium) navigation timing, the waterfall chart can include W3C metric values. You can also include W3C metrics in the interactive chart and in chart tiles in custom dashboards. Charting W3C metrics is supported for all Browser Agents. All metrics are calculated using the W3C navigation timing parameters.

To display data for W3C metrics, enable Include client (non-network) time in results in the Test settings.

The following diagram from the W3C illustrates the timing attributes defined by the PerformanceTiming interface and the PerformanceNavigation interface with or without redirect:

Note

The metric navigationStart is the start timestamp. For offset calculations, consider navigationStart to be time 0.  All other W3C metrics are offsets from the navigationStart. For a particular step (rootstepseq), the lowest w3seq refers to the overall timing of the step.  Other w3seq records for a step (rootstepseq) refer to other constructs on that page; for example, an iFrame.

Unload

Unload time is the time elapsed from immediately before the start of the unload of the previous document until the time immediately after the unload finishes. It is defined as:

unloadEventTime = unloadEventEndOffset - unloadEventStartOffset 

Redirect

Redirect time is the time elapsed from the start time of a URL fetch that initiates a redirect until the time after the last byte of the last redirect response is received. It is defined as:

redirectTime = redirectEndOffset - redirectStartOffset

Fetch

Fetch time is the time elapsed from immediately before the check for any relevant application caches (if HTTP GET or an equivalent is used) or the time when the resource is fetched until immediately before the DNS lookup occurs. It is defined as:

fetchTime = domainLookupStartOffset - fetchStartOffset 

DNS

DNS Lookup time is the time elapsed from immediately before the DNS lookup for the domain occurs until the time immediately after the DNS lookup occurs. It is defined as:

dnsTime = domainLookupEndOffset - domainLookupStartOffset

If the user agent already has the domain information in cache, domainLookupStartOffset and domainLookupEndOffset represent the times when the user agent starts and ends the domain data retrieval from the cache.

Connect

Connect time is the time elapsed from just before the browser connects to the server until the connection to the server is established. It is defined as:

connectTime = connectEndOffset - connectStartOffset

SSL

SSL time is the time elapsed from just before the browser connects to the server and starts the handshake process to secure the current connection until the connection to the server is established. It is defined as:

sslTime = connectEndOffset - secureConnectionStartOffset

Request

Request time is the time elapsed from when the browser sends the request for the URL until the time just after the browser receives the first byte of the response. It is defined as:

requestTime = responseStartOffset - requestStartOffset 

Response

Response time is the time elapsed from the time immediately after the user agent receives the first byte of the response from the server until the time immediately after the user agent receives the last byte of the current document or immediately before the transport connection is closed, whichever comes first. It is defined as:

overallResponseTime = responseEndOffset - responseStartOffset 

DOM interactive

DOM Interactive time is the time elapsed from immediately after the prompt to unload the previous document occurs until the time immediately before the document.readyState is set to interactive. It is defined as:

timeToDomInteractive = domInteractiveOffset 

DOM content loaded

DOM Content Loaded time is the time elapsed from when the prompt to unload the previous document occurs until the time immediately after the DOMContentLoaded event completes. It is defined as:

timeToDomContentLoaded = domContentLoadedEventEndOffset

DOM complete

DOM Complete time is the time elapsed from when the prompt to unload the previous document occurs until the time immediately before the document.readyState is set to complete. It is defined as:

timeToDomComplete = domCompleteOffset

This W3C metric is calculated from events reported by the navigation timing API and interpreted by the W3C integration in the browser. In synthetic test results, one DOM Complete metric is reported, for the root object.

Load

Load time is the time elapsed from when the load event of the current document completes until the time immediately before the load event of the current document is fired. It is defined as:

Load = loadEventEndOffset - loadEventStartOffset 

Additional metrics

Time to first paint

Time to First Paint represents the time when the document began to be displayed or 0 if the document could not be loaded.

Total page load time

Total Page Load Time is the time elapsed from immediately after the prompt to unload the previous document occurs until the load of the current document ends. It is defined as:

Total Page Load Time = loadEventEndOffset

Network time

Network Time is the time elapsed for DNS, Connection, SSL, and Response (Network Components) for a web page. It is defined as:

Network Time = RequestStartOffset + (ResponseEndOffset – ResponseStartOffset)

Front end time

Front End Time is the time elapsed from the end of the Network to the loading of the web page. It is defined as:

Front End Time = loadEventEndOffset - responseEndOffset)