User action metrics

For web applications, Dynatrace calculates the following user action metrics.

Milestone metrics

Milestone metrics represent events that occur at a specific point in time during a user action. However, they are measured in (m)sec, because they are calculated relative to the user action start time. In other words, user action start time serves as a reference point from which the time for the milestone metrics is measured. A value for example of 47msec for Navigation start indicates that this event occurred 47msec after the action start time.

Metric Description Applicable to

Navigation start

The moment right after the prompt for unload terminates on the previous document in the same browsing context (if there is no previous document, this value is the same as PerformanceTiming.fetchStart)).

Load actions

Request start

The moment the user agent sends the request to obtain the actual document, from the server, relevant application caches or from local resources (if the transport layer fails after the start of the request and the connection is reopened, this property will be set to the time corresponding to the new request).

Load actions

Time to first byte

The moment the first byte of a response is received from the server, relevant application caches, or a local resource.

Load actions
XHR actions

HTML downloaded

The moment the last byte of the current page is received, or before the transport connection is closed (whichever occurs first).

Load actions

DOM interactive

The moment the parser completes its work on the main document, before a page’s readiness status is set to "interactive" (i.e., before a page is ready to receive further user input).

Load actions

Speed index

A score indicating how quickly the page contents are visually populated. A low Speed index means that most parts of a page are rendering quickly.

Load actions

Visually complete

The moment all content in the browser’s visible area is fully rendered.

Load actions
XHR actions

DOM content loaded

The moment the user agent fires the DOMContentLoaded event at the document.

Load actions

DOM complete

The moment the user agent sets the current document readiness to "complete".

Load actions

Load event start

The moment the load event is sent for the current document. If this event has not yet been sent, it returns 0.

Load actions

Load event end

The moment the load event for the current page is completed. If this event has not yet been sent, or is not yet completed, it returns 0.

Load actions

First paint

The time spent from navigation to when the browser renders the first non-default background element.

Load actions

First contentful paint

The time spent from navigation to when the browser renders the first bit of content (such as text or images)

Load actions

Largest contentful paint

The time spent from navigation until the largest content element in the viewport has been completely rendered.

Load actions

First input start

The point in time when the user first interacts (for example, clicks) with the page.

Load actions

Speed Index and Visually Complete are only available on browsers that support mutationobservers. This includes the following browsers:

  • Microsoft Internet Explorer 11
  • Microsoft Edge 15+
  • Firefox 57+
  • Google Chrome 61+

Core web vitals are generally available only for load actions and Chromium-based browsers. Core web vitals include:

  • Largest contentful paint: Available for Chromium-based browsers. Measured using Google-provided APIs.
  • Cumulative layout shift: Available for Chromium-based browsers. Measured using Google-provided APIs.
  • First input delay: Available for Firefox, Safari, and Internet Explorer 9+. Measured using a Dynatrace implementation that listens for events of type click, mousedown, keydown, or touchstart and calculates the delay from when the RUM JavaScript registers such events to when the events are triggered.

Phase metrics

As opposed to milestone metrics, phase metrics imply a duration.

Metric Description Applicable to

User action duration

The moment the page load is completed.

Load actions XHR actions Custom actions

Blocking

The time between the moment the browser realizes it needs to download a resource and the time that it actually starts downloading the resource. This includes the time spent on waiting for a free TCP socket, the time required for generating disk cache entries and the time spent in proxy negotiation.

Load actions

Application cache

The time spent checking any relevant application caches. It includes the time before the connection to the server is established.

Load actions

DNS lookup

The time spent on the domain name lookup for the current document.

Load actions

TCP connect

The time spent on establishing the connection to the server including SSL.

Load actions

Secure connect

The time spent on making the established connection to the server secure. This includes the SSL handshake and SOCKS.

Load actions

Request

The time spent on requesting the current document from the server until the first byte is received.

Load actions

Response

The time spent on receiving the response.

Load actions

Processing

The time between DOM loading and Load event start.

Load actions

OnLoad

The time spent on processing the load event.

Load actions

OnDOMContentLoaded

The time spent on executing onDomContentLoaded handlers.

Load actions

Response end

The elapsed time from when the first byte of the server response is received until either when the last byte of the current document of the response is received or when the response completes, whichever happens first.

XHR actions Load actions

Redirect time

The time spent on subsequent HTTP requests.

Load actions

First input delay

The time spent from first input start to when the browser is able to respond to that interaction.

Load actions

Key performance metrics

From the metrics listed above, Dynatrace has specified some as key. Key performance metrics enable you to select the ideal user experience metric for each of your applications. These key metrics provide you with valuable performance insights that promote success in your digital business. The key performance metrics include:

  • User action duration
  • Visually complete
  • Speed index
  • DOM interactive
  • Load event end
  • Load event start
  • HTML downloaded
  • Time to first byte
  • Largest contentful paint
  • Cumulative layout shift
  • First input delay (RUM web only)

Dynatrace allows you to choose the right performance metric for each application condition.

Why certain metric measurements might be missing

Metric measurements might be missing in the following cases:

Visually complete

  • During a load action the user selects another link that triggers a new load action before the original page load event is completed. The second load action interrupts the Visually complete calculation of the first load action and so no measurement is available.

In the earlier version of Visually complete Dynatrace used the user action duration as a fallback measurement. This skewed the timeseries however so such cases are now excluded to ensure more accurate aggregates.

  • A late redirect is triggered immediately following a load action.
  • The Visually complete time-out is reached during the calculation.

Core web vitals

  • The browser API doesn't trigger and provide a metric measurement before the user action ends (see user action duration).

In earlier versions of Dynatrace Real User Monitoring, these values were sent after completion of the user action. Such values were not meaningful however and often not representative. For example, First input delay (FID) measures page load responsiveness. The primary driver for a high FID value is JavaScript execution. So if a user waited a minute following a page load before selecting a new link, most if not all JavaScript processing would already have taken place and the resulting small FID measurement wouldn't be a representative value of a true page load. Such measurements skewed the overall metric aggregate.

  • The user's browser doesn't support the APIs that are used to measure core web vitals. See details under [milestone metrics](Milestone metrics) to see which browsers support Core web vitals.
  • The page is loaded or reloaded in an inactive tab so the browser API does not report values.
  • The browser API provides negative values.