User action metrics

For web applications, Dynatrace calculates a host of user action metrics.

Milestone metrics

Milestone metrics represent events that occur at a specific point in time during a user action. However, these metrics are measured in seconds or milliseconds 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. For example, a value of 47 ms for Navigation start indicates that this event occurred 47 ms 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 local resources. If the transport layer fails after the start of the request and the connection is reopened, this property is 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 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" (before the page is ready to receive further user input). Load actions
Speed index A score indicating how quickly the page content is 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 with the page, for example, clicks a control. Load actions

Speed index and Visually complete are only available on browsers that support mutation observers. 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:
    • For Chromium-based browsers, the metric is measured using Google-provided APIs
    • For Firefox, Safari, and Internet Explorer 9+, the metric is 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 when the browser receives a request 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, time required for generating disk cache entries, and 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 the 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 metrics. 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.

Missing metric measurements

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, 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, 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 the User action duration metric).
    In earlier versions of Dynatrace Real User Monitoring, these values were sent after the completion of the user action. Such values were not meaningful 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 to learn which browsers support Core web vitals.
  • The page is loaded or reloaded in an inactive tab, and the browser API does not report values.
  • The browser API provides negative values.