Dynatrace RUM - department-of-veterans-affairs/caseflow GitHub Wiki

Basics of RUM

What is RUM?

Real user monitoring (RUM) is a performance monitoring process that collects data on a variety of metrics from a user’s interaction with an application. The sequence of actions a user takes when working within an application is called a user session. With RUM, you can collect data on each user action within a session, including the time required to complete the action, so you can begin to identify patterns and see where to make improvements. A user session can span multiple applications (web, mobile, custom apps, etc).

Using load actions as an example, metrics could be pulled on navigation start, request start, and/or speed index data. RUM can also provide insight into service latency to help developers identify poorly performing code. By capturing real user data, RUM provides a true breakdown of the user experience with an application. This can help to identify performance issues before too many users experience them.

How RUM works

Real user monitoring works by inserting code into an application that captures metrics while the application is in use. Browser-based applications are monitored by "injecting" JavaScript code that can detect page loads and requests across the application. Some RUM tools can be automatically installed with agents whereas others require manual configuration.

RUM generates a large volume of data so it's important to have query and visualization tools to sort through and identify the important information. RUM depends on users actively engaging with a service, so if there is low usage (during off-hours, ex: the middle of the night) or a new feature has just been deployed, there is very little RUM data to analyze.

Dynatrace RUM

Getting started with set-up

For web applications, Dynatrace offers RUM JavaScript as a monitoring approach. Injection of the RUM JavaScript can be done automatically by OneAgent. Dynatrace recommends getting started by following the steps to define your application for RUM. The basic auto-injection with OneAgent can be further extended with the use of application detection rules to define more complex patterns to group the RUM monitoring traffic into applications. You can apply these rules to new or existing applications as well as create rules based on your application URL or domain. Dynatrace supports the creation of up to 1,000 application detection rules per environment.

When you don't have access to your web server and can't install OneAgent on the host, there are two insertion options. Manual insertion is recommended for instances where you don't have access to the host of your web application, but you have access to the application code. If you cannot access both the host of your web application and the application code, there is a RUM browser extension that can be installed.