User Action timings

Load actions

UEM provides several timing measures that can be used in charting, Business Transactions, and more. This page describes the timings a User Action PurePath provides.

This example shows the load action of a page index.html, which loads several synchronous and asynchronous scripts, partially from third party providers.

  • The script async.js is detected on the server side and has started during the onload action, but ended afterwards. Therefore it only counts partially to the action's server contribution.
  • Third party resource timings are never part of server or network contribution, but their load times can be used using the Third Party Content Load measure.
  • Overlapping requests like firstImage.png, lastImage.png, and async.js do not increase server contribution, but are addressed by network contribution calculation.
  • Network contribution is only available if the PurePath visit possesses a bandwidth value.
  • The network contribution is the sum of the file size of all requests divided by the bandwidth value (bytes per second).
  • Dom Load Time is the time from page initialization to the DomContentLoaded event or, for older Internet Explorer versions, to the time the DOM is interactive.
  • See Perceived Render Time for detailed information about this measure. The first image contributes, the last one is not visible from the beginning on and therefore does not contribute to the perceived render time.
  • LastImage.png loads asynchronously, thus does not lock the load handler.
  • The onload event handler completion ends the action.

Source actions

There are several ways to trigger a redirect to another page. For example, clicking an anchor tag, or an XMLHttpRequest callback could rewrite the location.href variable.

The JavaScript Agent can track these user-triggered redirects and correlate the corresponding requests to user actions. For XMLHttpRequest callbacks, a user action PurePath would look like this:

The following explanation shows why the timeline looks as previously shown, and what parameters are used for timing calculations. Not all browsers support the Performance Timing API (which includes Navigation Timings). If it's not available, most timings are calculated using server-side records of web requests in combination with the information the JavaScript agent provides.

XMLHttpRequest actions

Several frameworks and services provide support for loading resources asynchronously. Some of these resources are of special interest for the whole experience of a website. If the corresponding modules are enabled, the JavaScript Agent is capable of capturing these requests and provide response times from the very first click until the end user receives the final result. A user action PurePath is generated.