RUM Flashcards
What are the three ways Dynatrace RUM can be injected into a web application? Why might you choose one method over another?
- Automatically by OneAgent (easiest, requires OneAgent installation)
- Manually if using agentless monitoring (for environments where OneAgent can’t be installed)
- Using Dynatrace browser extensions (to monitor third-party applications)
How does Dynatrace monitor mobile applications, and what is the injection process like?
1.OneAgent for iOS or Android (provides comprehensive monitoring)
2. No injection required (OneAgent handles the instrumentation automatically)
In the context of Dynatrace RUM, what constitutes a “user action,” and how does it relate to web server requests
A user action is any interaction with the web browser that triggers a request to the web server. This could be loading a page, clicking a button, submitting a form, etc.
What are the types of user actions
- Load action (page load)
- XHR action (AJAX requests)
- Custom action (defined using the JavaScript API)
What are two key factors that differentiate the various types of user actions in Dynatrace RUM?
- How the action duration is calculated (varies depending on the type of action)
- What metrics are available (different metrics are relevant for different action types)
How does Dynatrace define and measure the duration of a “load action”? What are the start and end points for this measurement?
- Definition: The actual loading of a page in the browser.
- Duration: Measured from the start of the page load to the completion of the onLoad event handler (or a subsequent XHR triggered by it).
- Start: navigationStart attribute or the moment the JavaScript RUM code initializes.
- End: When the onLoad handler finishes or after the completion of an XHR triggered by the handler.
How does Dynatrace define and measure the duration of an “XHR action”? How does this differ from a load action?
- Definition: Triggered when user actions lead to an XHR or fetch() call.
- Duration: Measured from the initiation of the XHR/fetch call to the completion of loading all related resources.
- Start: When the XHR or fetch() call is initiated.
- End: When all resources associated with the XHR/fetch call have finished loading.
Where in the Dynatrace UI can you configure which types of user interactions are automatically detected and monitored by RUM?
Application -> Edit -> Advanced Settings -> Advanced Setup
How can you extend Dynatrace RUM to track user interactions that aren’t automatically captured?
By using the JavaScript RUM API.
What are the three main components that make up the total duration of a user action in Dynatrace?
- Components: Frontend time, Network time, Server time.
How does Dynatrace calculate the “frontend time,” “network time,” and “server time” for a user action?
- Frontend time: User action duration - Network time - Server time.
- Network time: (requestStart - actionStart) + (responseEnd - responseStart)
- Server time: responseStart - requestStart
- User action duration: (loadEventEnd or lastXHREnd) - actionStart
How can you improve the readability and understandability of user action names in Dynatrace RUM?
Insert the data-dtname attribute into HTML elements to provide descriptive names.
How does Dynatrace track user sessions, even for anonymous users?
Tracking: By storing a persistent cookie on the user’s browser.
What events mark the beginning and end of a user session in Dynatrace?
- Session Start: When the first user action is initiated.
- Session End:
After 35 minutes of
browser inactivity.
When the user closes
their browser.(A user
session remains live in the Dynatrace web UI for up to 35 minutes after the user closes their browser.)
After a limit of 200 user
actions.
When the session
duration reaches 8
hours.
By calling the
dtrum.endSession()
method of the JavaScript
API.
How are user actions grouped and correlated into user sessions by Dynatrace?
Visibility in Search: Usually 4 minutes, but can take up to 10.5 minutes.
Grouping: Dynatrace uses cookies and local storage to correlate user actions into sessions.