Try it free

User actions

  • Latest Dynatrace
  • Reference

User action events capture user-initiated actions within the application, providing insights into user behavior and interaction patterns.

User action

A user action represents a significant frontend operation and its downstream effects. Dynatrace RUM groups the triggering event, for example the user interaction, together with the resulting requests and DOM mutations into a single user action event. Only supported by RUM JavaScript.

Query

This query searches for all user actions.

fetch user.events
| filter characteristics.has_user_action

User action characteristics fields

AttributeTypeDescriptionExamples

characteristics.classifier

string

experimentalFixed value other.

other

characteristics.has_user_action

boolean

stableFixed value true.

true

characteristics.is_api_reported

boolean

stableAdditional characteristic: If set to true, the user event was sent using the Dynatrace API.

true

User action fields

AttributeTypeDescriptionExamples

user_action.instance_id

uid

experimentalA random ID that is generated for every user action. The user_action.instance_id is an 8-byte ID and hex-encoded if shown as a string.

f76281848bd8288c

user_action.type

string

experimentalThe user action type.

same_view

user_action.custom_name

string

**deprecatedThe attribute user_action.custom_name will be replaced with user_action.name soon.**The user action name reported via the Dynatrace API.

FooBar - Title

user_action.interrupted_by_instance_id

uid

experimentalThe user_action.instance_id of the user action that interrupted this user action.

f76281848bd8288c

user_action.interrupted_instance_id

uid

experimentalThe user_action.instance_id of the user action that was interrupted by this user action.

f76281848bd8288c

user_action.hard_navigation_count

long

experimentalThe number of hard navigations that happened during the lifespan of the user action.

0

user_action.soft_navigation_count

long

experimentalThe number of soft navigations that happened during the lifespan of the user action.

2

user_action.mutation_count

long

experimentalThe number of DOM mutations during the lifespan of the user action.

3

user_action.requests.pending_request_count

long

experimentalThe number of requests that were pending when the user action finished.

2

user_action.requests.data_url_request_count

long

experimentalThe number of requests to a data URL during the lifespan of the user action.

2

user_action.requests.count

long

experimentalThe number of requests during the lifespan of the user action.

10

user_action.resources.count

long

experimentalThe number of resources loaded during the lifespan of the user action.

9

user_action.resources.__initiator_type__.count

long

experimentalThe number of resources loaded during the lifespan of the user action split by initiator type, for example, user_action.resources.xmlhttprequest.count. Known initiator types are xmlhttprequest, fetch, navigation, css, script, beacon, video, audio, track, img, image, input, a, iframe, frame, link, icon, internal, violationreport and other.

9

user_action.complete_reason

string

experimentalThe reason why the user action was completed.

timeout

user_action.type MUST be one of the following:

ValueDescription

api

The user action was reported via the Dynatrace API.

hard_navigation

The user action was triggered by a hard navigation (full page load).

same_view

The user action was triggered by a user interaction, followed by an XHR or fetch request.

soft_navigation

The user action was triggered by a soft navigation that led to a view change.

xhr

Replaced with same_view starting with RUM JavaScript version 1.339.

user_action.complete_reason MUST be one of the following:

ValueDescription

completed

The user action was normally completed.

completed_by_api

The user action was completed using the Dynatrace API.

interrupted_by_api

The user action was interrupted by a new user action started with the Dynatrace API.

interrupted_by_automatic

The user action was interrupted by a new auto-captured user action.

page_hide

The user action was closed because the page was left.

timeout

The user action timed out.

User interaction fields

AttributeTypeDescriptionExamples

dom_event.is_trusted

boolean

experimentalInteraction is genuine from real user and not a synthetic event.

true

interaction.name

string

**deprecatedReplaced with interaction.type.**Type of action performed by the user.

click

interaction.type

string

experimentalType of action performed by the user.

click

ui_element.custom_name

string

experimentalCustom name of the element. Filled by the data-dt-name or the data-dt-children-name DOM attribute.

Add to cart; Homepage logo

ui_element.name

string

experimentalName of the element taken from the following fields by priority: ui_element.custom_name, ui_element.name, ui_element.ancestor.custom_name, ui_element.ancestor.name

Add to cart; Homepage logo

ui_element.name_origin

string

experimentalField used to fill ui_element.name.

title; name; id; content; value

ui_element.tag_name

string

experimentalUser interface element type. For web, it's the tag name. For mobile, it's the name of, for example, the controller or fragment

div; CartFragment

Performance fields

AttributeTypeDescriptionExamples

performance.type

string

experimentalThe navigation type according to the W3C navigation timing. Only available for hard navigations.

navigate

Network fields

AttributeTypeDescriptionExamples

network.protocol.name

string

experimentalOSI Application Layer or non-OSI equivalent. This is a mandatory field for request user events.

amqp; http; mqtt

URL fields

AttributeTypeDescriptionExamples

url.domain

string

experimentalThe URI domain component. This is extracted from url.full.

www.foo.bar; google.com; wikipedia.org

url.fragment

string

experimentalThe URI fragment component. This is extracted from url.full.

SemConv

url.full

string

experimentalAbsolute URL describing a network resource according to RFC3986. OneAgent for Mobile removes the optional user information subcomponent. This is a mandatory field for request user events.Tags: sensitive-spans

https://www.foo.bar/docs/search?q=OpenTelemetry#SemConv

url.path

string

experimentalThe URI path component. This is extracted from url.full.

/docs/search

url.provider

string

experimentalThe provider type for the host name of url.full. This information is determined by Dynatrace RUM resource detection.

third_party

url.query

string

experimentalThe URI query component. This is extracted from url.full.Tags: sensitive-spans

q=OpenTelemetry

url.scheme

string

experimentalThe URI scheme component identifying the used protocol. This is extracted from url.full.

https; ftp; telnet

Span and trace fields

AttributeTypeDescriptionExamples

span.id

uid

experimentalA unique identifier for a span within a trace. The span.id is an 8-byte ID and hex-encoded if shown as a string. Only available if Dynatrace RUM starts a trace and sets the Trace Context HTTP headers.

f76281848bd8288c

trace.id

uid

experimentalA unique identifier for a trace. The trace.id is a 16-byte ID and hex-encoded if shown as a string. Available if Dynatrace RUM starts a trace and sets the Trace Context HTTP headers or if RUM JavaScript captures the trace information reported by OneAgent via server-timing HTTP response header.

357bf70f3c617cb34584b31bd4616af8

trace.is_sampled

boolean

experimentalFlag indicating whether the trace was recorded. If set to true, the trace is recorded. If set to false, the trace is ignored. Only available if RUM JavaScript captures the trace information reported by OneAgent via server-timing HTTP response header. Not supported by OneAgent for Mobile.

true; false

Request trace context hint fields

AttributeTypeDescriptionExamples

request.trace_context_hint

string

experimentalIndicates if and why Dynatrace RUM set the W3C Trace Context headers on the request.

excluded

request.server_timing_hint

string

experimentalIndicates if and why RUM JavaScript received trace information from OneAgent via the browser's performance API (PerformanceServerTiming interface).

received

request.trace_context_hint MUST be one of the following:

ValueDescription

api_set

Trace Context headers were set using the Dyntrace API.

api_unused

Trace Context headers were not set in the customer code using the Dyntrace API, therefore it's expected that the header is not set.

cross_origin

Trace Context headers were not set because the request is a cross-origin request.

disabled

Trace Context headers were not set for the request because the feature is disabled.

excluded

Trace Context headers were not set because the request is excluded by configuration.

external

Trace Context headers were not set because the traceparent HTTP request header was already available.

from_server

Trace Context headers were set based on the request's server-timing HTTP response header.

included

Trace Context headers were set because the request is included by configuration.

invalid_set

Dynatrace RUM generated new and replaced the existing Trace Context headers because the existing traceparent HTTP request header did not conform to the W3C Trace Context specification.

max_length

Trace Context headers were not set because the maximum length for the tracestate entry was exceeded.

missing_values

Trace Context headers were not set because mandatory values were not available to Dyntrace RUM.

not_http

Trace Context headers were not set because the request is not an HTTP request.

not_initialized

Trace Context headers were not set because the initial configuration was not received.

not_set

Trace Context headers were not set for the request.

set

Trace Context headers were set for the request.

request.server_timing_hint MUST be one of the following:

ValueDescription

invalid

RUM JavaScript ignored invalid trace information.

mismatch

RUM JavaScript received trace information that doesn't match the Trace Context headers.

no_trace_info

No trace information available.

not_available

Server-Timing not available.

not_available_http

Server-Timing not available due to an insecure HTTP connection. The PerformanceServerTiming interface requires a secure context (HTTPS).

received

RUM JavaScript received valid trace information.

Error fields

AttributeTypeDescriptionExamples

error.csp_violation_count

long

experimentalThe number of CSP rule violations.

1

error.dropped_exception_count

long

experimentalThe number of exceptions that are observed, but which are not captured due to error capture limits.

1

error.exception_count

long

experimentalThe total number of exceptions that are observed, including exceptions that are not captured.

1

error.http_4xx_count

long

experimentalThe number of HTTP request errors with an http.response.status_code of 400-499.

1

error.http_5xx_count

long

experimentalThe number of HTTP request errors with an http.response.status_code of 500-599.

1

error.http_other_count

long

experimentalThe number of HTTP request errors with an http.response.status_code of 0-99 or 600+ (undefined errors).

1

User action web vitals attributes

AttributeTypeDescriptionExamples

web_vitals.cumulative_layout_shift

double

stableThe Cumulative Layout Shift (CLS) value.

0.1279

web_vitals.first_input

duration

stableThe First Input value.

6000000

web_vitals.first_input_delay

duration

stableThe First Input Delay (FID) value.

6000000

web_vitals.interaction_to_next_paint

duration

stableThe Interaction to Next Paint (INP) value.

190000000

web_vitals.largest_contentful_paint

duration

stableThe Largest Contentful Paint (LCP) value.

880000000

Largest Contentful Paint (LCP) fields

The Largest Contentful Paint (LCP) attributes contain additional information about the captured web_vitals.largest_contentful_paint.

AttributeTypeDescriptionExamples

lcp.status

string

experimentalThe status information for LCP.

reported

lcp.update_count

long

experimentalThe number of LCP updates during the entire lifespan.

0

lcp.start_time

double

experimentalThe value of the LCP object's startTime property. The unit is milliseconds.

880.0

lcp.url

string

experimentalIf the element is an image, the request URL of the image.

https://www.foo.bar/images/image.png

lcp.load_time

double

experimentalThe value of the LCP object's loadTime property (the time the element was loaded). The unit is milliseconds. In case the element finished to load but the browser did not render it yet, a negative value is reported.

874.0

lcp.render_time

double

experimentalThe value of the LCP object's renderTime property (the time that the element was rendered). The unit is milliseconds.

880.0

lcp.size

long

experimentalThe intrinsic size of the element representing its area on the screen. The value is equal to the element's width multiplied by its height, in pixels.

53640

lcp.id

string

experimentalThe element's ID.

productLogo

lcp.ui_element.xpath

string[]

experimentalThe element's xpath. Might be missing, for example, for element's that are inside a shadow DOM.

['html[1]', 'body[1]', 'div[@id="elementId"]', 'section[1]', 'form[1]', 'div[5]', 'button[1]']

lcp.ui_element.tag_name

string

experimentalThe element's tag name. Might be missing, for example, for element's that are inside a shadow DOM.

BUTTON

lcp.ui_element.render_delay

double

experimentalThe element's render delay, that is the time between when the element finishes loading and when it is fully rendered. The unit is milliseconds. Only available if a resource timing is available for the element.

100.0

lcp.resource.load_delay

double

experimentalThe resource's load delay, that is the time between Time to First Byte and when the browser starts loading the resource. The unit is milliseconds. Only available if a resource timing is available for the resource.

400.0

lcp.resource.load_duration

double

experimentalThe resource's load duration, that is the total time it takes to load the resource. The unit is milliseconds. Only available if a resource timing is available for the resource.

300.0

lcp.status MUST be one of the following:

ValueDescription

backgrounded

LCP is not reported because the browser tab was loaded in the background.

disabled

LCP is not reported because capturing of page and view summaries is disabled (only used for activity events).

not_supported

LCP is not reported because the browser tab was in the background before the value could be reported.

reported

LCP is reported.

First Input Delay (FID) fields

The First Input Delay (FID) attributes contain additional information about the captured web_vitals.first_input_delay.

AttributeTypeDescriptionExamples

fid.status

string

experimentalThe status information for FID.

not_reported

fid.loading_state

string

experimentalThe document's loading state recorded at the point in time when the FID was captured.

complete

fid.start_time

double

experimentalThe value of the FID object's startTime property. The unit is milliseconds.

13427.0

fid.duration

double

experimentalThe value of the FID object's duration property. The unit is milliseconds.

24.0

fid.name

string

experimentalThe value of the FID object's name property (the user interaction event).

click

fid.processing_start

double

experimentalThe value of the FID object's processingStart property. The unit is milliseconds.

13433.0

fid.processing_end

double

experimentalThe value of the FID object's processingEnd property. The unit is milliseconds.

13433.0

fid.processing_duration

double

experimentalHow long it took for the event handler to execute. This is calculated as fid.processing_end minus fid.processing_start.

0.0

fid.cancelable

boolean

experimentalThe value of the FID object's cancelable property.

true

fid.ui_element.xpath

string[]

experimentalThe element's xpath. Might be missing, for example, for element's that are inside a shadow DOM.

['html[1]', 'body[1]', 'div[@id="elementId"]', 'section[1]', 'form[1]', 'div[5]', 'button[1]']

fid.ui_element.tag_name

string

experimentalThe element's tag name. Might be missing, for example, for element's that are inside a shadow DOM.

BUTTON

fid.status MUST be one of the following:

ValueDescription

disabled

FID is not reported because capturing of page and view summaries is disabled (only used for activity events).

not_reported

FID is not reported because there was no user interaction.

not_supported

FID is not supported by the browser.

reported

FID is reported.

fid.loading_state MUST be one of the following:

ValueDescription

complete

The document and all sub-resources have finished loading.

dom_content_loaded

The document has been parsed and deferred scripts have finished loading but other sub-resources such as async scripts, images, stylesheets, and frames are still loading.

dom_interactive

The document has finished loading and the document has been parsed but sub-resources such as scripts, images, stylesheets, and frames are still loading.

loading

The document is still loading.

Interaction to Next Paint (INP) fields

The Interaction to Next Paint (INP) attributes contain additional information about the captured web_vitals.interaction_to_next_paint.

AttributeTypeDescriptionExamples

inp.status

string

experimentalThe status information for INP.

reported

inp.update_count

long

experimentalThe number of INP updates during the entire lifespan.

0

inp.interaction_count

long

experimentalThe number of interactions, during the entire lifespan, that exceed 40 milliseconds.

0

inp.loading_state

string

experimentalThe document's loading state recorded at the point in time when the INP was captured.

complete

inp.start_time

double

experimentalThe value of the INP object's startTime property. The unit is milliseconds.

13427.0

inp.duration

double

experimentalThe value of the INP object's duration property. The unit is milliseconds.

24.0

inp.name

string

experimentalThe value of the INP object's name property (the user interaction event).

click

inp.processing_start

double

experimentalThe value of the INP object's processingStart property. The unit is milliseconds.

13433.0

inp.processing_end

double

experimentalThe value of the INP object's processingEnd property. The unit is milliseconds.

13433.0

inp.processing_duration

double

experimentalHow long it took for the event handler to execute. This is calculated as inp.processing_end minus inp.processing_start.

0.0

inp.cancelable

boolean

experimentalThe value of the INP object's cancelable property.

true

inp.ui_element.xpath

string[]

experimentalThe element's xpath. Might be missing, for example, for element's that are inside a shadow DOM.

['html[1]', 'body[1]', 'div[@id="elementId"]', 'section[1]', 'form[1]', 'div[5]', 'button[1]']

inp.ui_element.tag_name

string

experimentalThe element's tag name. Might be missing, for example, for element's that are inside a shadow DOM.

BUTTON

inp.status MUST be one of the following:

ValueDescription

below_threshold

INP is not reported because the value is below the threshold of 40 milliseconds.

disabled

INP is not reported because capturing of page and view summaries is disabled (only used for activity events).

not_reported

INP is not reported because no relevant user interaction happened.

not_supported

INP is not supported by the browser.

reported

INP is reported.

inp.loading_state MUST be one of the following:

ValueDescription

complete

The document and all sub-resources have finished loading.

dom_content_loaded

The document has been parsed and deferred scripts have finished loading but other sub-resources such as async scripts, images, stylesheets, and frames are still loading.

dom_interactive

The document has finished loading and the document has been parsed but sub-resources such as scripts, images, stylesheets, and frames are still loading.

loading

The document is still loading.

Cumulative Layout Shift (CLS) fields

The Cumulative Layout Shift (CLS) attributes contain additional information about the captured web_vitals.cumulative_layout_shift.

AttributeTypeDescriptionExamples

cls.status

string

experimentalThe status information for CLS.

not_supported

cls.update_count

long

experimentalThe number of CLS updates during the entire lifespan.

0

cls.loading_state

string

experimentalThe document's loading state recorded at the point in time when the CLS was captured.

complete

cls.value

double

experimentalThe final CLS value.

0.1279

cls.ui_element.xpath

string[]

experimentalThe xpath of the element causing the largest layout shift. Might be missing, for example, for elements that are inside a shadow DOM.

['html[1]', 'body[1]', 'div[@id="elementId"]', 'section[1]', 'form[1]', 'div[5]', 'button[1]']

cls.ui_element.tag_name

string

experimentalThe tag name of the element causing the largest layout shift. Might be missing, for example, for elements that are inside a shadow DOM.

BUTTON

cls.ui_element.shift_time

double

experimentalThe time when the largest layout shift occurred. The value is relative to start_time. The unit is milliseconds.

2066.9

cls.ui_element.shift_value

double

experimentalThe layout shift score of the element causing the largest layout shift.

0.11

cls.status MUST be one of the following:

ValueDescription

backgrounded

CLS is not reported because the page was loaded in the background or backgrounded before the browser painted any content.

disabled

CLS is not reported because capturing of page and view summaries is disabled (only used for activity events).

not_supported

CLS is not supported by the browser.

reported

CLS is reported.

cls.loading_state MUST be one of the following:

ValueDescription

complete

The document and all sub-resources have finished loading.

dom_content_loaded

The document has been parsed and deferred scripts have finished loading but other sub-resources such as async scripts, images, stylesheets, and frames are still loading.

dom_interactive

The document has finished loading and the document has been parsed but sub-resources such as scripts, images, stylesheets, and frames are still loading.

loading

The document is still loading.

Long task fields

AttributeTypeDescriptionExamples

long_task.status

string

experimentalThe status information for long task information.

not_supported

long_task.all.count

long

experimentalThe number of all long tasks observed during the entire lifespan.

2

long_task.all.avg_duration

long

experimentalThe average duration of all observed long tasks in milliseconds.

60

long_task.all.slowest_occurrences

record[]

experimentalThe start time and the duration of the slowest observed long tasks in milliseconds. The start time is relative to the user event's start_time.

{'duration': 60, 'start_time': 1234}; {'duration': 58, 'start_time': 2999}

long_task.self.count

long

experimentalThe number of long tasks from the same browser context or frame observed during the entire lifespan. Only long tasks with long_task.name set to self are considered.

2

long_task.self.avg_duration

long

experimentalThe average duration of the observed long tasks from the same browser context or frame in milliseconds. Only long tasks with long_task.name set to self are considered.

60

long_task.self.slowest_occurrences

record[]

experimentalThe start time and the duration of the slowest observed long tasks from the same browser context or frame in milliseconds. The start time is relative to the user event's start_time. Only long tasks with long_task.name set to self are considered.

{'duration': 60, 'start_time': 1234}; {'duration': 58, 'start_time': 2999}

long_task.status MUST be one of the following:

ValueDescription

disabled

Long task information is not reported because capturing of page and view summaries is disabled (only used for activity events).

not_reported

Long task information is not reported because no long task was observed.

not_supported

Long tasks API is not supported by the browser.

reported

Long task information is reported.