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:

The Dynatrace Portal displays the values for these metrics:

Additional metrics:

Timing data used to calculate the W3C metric values is returned through the Navigation Timing API as implemented by the browser. There may be differences between the synthetic metrics calculated by Dynatrace and the W3C metrics shown in the waterfall chart. Dynatrace has performed extensive testing on its data and stands by the accuracy of its synthetic metrics.

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 =
performance.timing.unloadEventEnd - performance.timing.unloadEventStart

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 =
performance.timing.redirectEnd - performance.timing.redirectStart

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 =
performance.timing.domainLookupStart - performance.timing.fetchStart 

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 =
performance.timing.domainLookupEnd - performance.timing.domainLookupStart

If the user agent already has the domain information in cache, domainLookupStart and domainLookupEnd 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 =
performance.timing.connectEnd - performance.timing.connectStart

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 =
performance.timing.connectEnd - performance.timing.secureConnectionStart

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 =
performance.timing.responseStart - performance.timing.requestStart

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 =
performance.timing.responseEnd - performance.timing.responseStart

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 =
performance.timing.domInteractive - performance.timing.navigationStart

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 =
performance.timing.domContentLoadedEventEnd - performance.timing.navigationStart

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 =
performance.timing.domComplete - performance.timing.navigationStart 

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 =
performance.timing.loadEventEnd - performance.timing.loadEventStart

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 = 
performance.timing.loadEventEnd – performance.timing.navigationStart