Error user events capture various types of errors that occur during user interactions, including application crashes, ANR errors, JavaScript exceptions, CSP violations, and API-reported errors.
The following reference contains a list of error fields that have a well-defined semantic meaning in Dynatrace RUM.
| Attribute | Type | Description | Examples |
|---|---|---|---|
error.code | long | experimental Display name: Error codeThe code of the error. Set for iOS (NSError and Swift Error) and custom errors for C-based languages. | -1; 3072 |
error.has_custom_name | boolean | experimental Display name: Custom error name setIf set to true, the error.name was reported via the Dynatrace API. | true |
error.id | uid | experimental Display name: Error IDA unique identifier for error grouping. The error.id is a 16-byte ID and hex-encoded if shown as a string. | 357bf70f3c617cb34584b31bd4616af8 |
error.is_fatal | boolean | experimental Display name: Error is fatalIf set to true, the error resulted in a fatal exit (for example, an unhandled exception). | true |
error.name | string | experimental Display name: Error nameA human-readable version of error.id. Dynatrace can mask this field. To learn more, go to masking personal data in URIs. | 500: foo.bar/path/file; path/file:1:5 |
error.reason | string | experimental Display name: Error reasonThe error reason. RUM JavaScript reports a pre-defined set of values. OneAgent for iOS reports nserror.domain. | no_network |
error.source | string | experimental Display name: Error sourceThe error source. | fetch; console |
error.type | string | experimental Display name: Error typeThe main error type. This information is determined by Dynatrace RUM error grouping. | request |
error.reason has the following list of well-known values. If one of them applies, then the respective value MUST be used, otherwise a custom value MAY be used.
| Value | Description | Display name |
|---|---|---|
abort | The request was aborted by the user. | Abort |
csp | The request failed due to a Content Security Policy (CSP) violation. | CSP |
no_network | The request failed because of no connectivity. | No network |
timeout | The request timed out. | Timeout |
error.source has the following list of well-known values. If one of them applies, then the respective value MUST be used, otherwise a custom value MAY be used.
| Value | Description | Display name |
|---|---|---|
console | console | Console |
cordova_http | cordova_http | |
document_request | document_request | Document request |
exception | exception | Exception |
fetch | fetch | Fetch |
promise_rejection | promise_rejection | Promise rejection |
xhr | xhr | XHR |
error.type MUST be one of the following:
| Value | Description | Display name |
|---|---|---|
anr | Application Not Responding (ANR) | Application not responding |
crash | Crash | Crash |
csp | Content Security Policy (CSP) violation | CSP |
exception | Exception | Exception |
reported | Custom reported error | Reported |
request | Failed request | Request |
Semantic conventions to describe Application Not Responding (ANR) events in Dynatrace RUM. These conventions are supported only for OneAgent for Mobile.
This query searches for all ANR events.
fetch user.events| filter characteristics.has_anr == true
| Attribute | Type | Description | Examples |
|---|---|---|---|
characteristics.has_anr | boolean | stable Fixed value true. | true |
characteristics.has_error | boolean | stable Fixed value true. | true |
| Attribute | Type | Description | Examples |
|---|---|---|---|
error.id | uid | experimental Display name: Error IDA unique identifier for error grouping. The error.id is a 16-byte ID and hex-encoded if shown as a string. | 357bf70f3c617cb34584b31bd4616af8 |
error.is_fatal | boolean | experimental Display name: Error is fatalAlways true for ANR errors because the non-responsive app resulted in a fatal exit. | true |
error.name | string | experimental Display name: Error nameA human-readable version of error.id. Dynatrace can mask this field. To learn more, go to masking personal data in URIs. | 500: foo.bar/path/file; path/file:1:5 |
error.type | string | experimental Display name: Error typeFixed value anr. | anr |
| Attribute | Type | Description | Examples |
|---|---|---|---|
exception.message | string | stable Display name: Exception messageA message that describes the exception. | user request after error: Input dispatching timed out (f9276c4 com.example\/com.example.MainActivity (server) is not responding. Waited 10001ms for MotionEvent) |
exception.stack_trace | string | stable Display name: Exception stack traceThe stack trace of the ANR error. The format depends on the technology and source. | "main" prio=5 tid=1 Sleeping\n | group="main" sCount=1 ucsCount=0 flags=1 obj=0x739329b8 self=0x7f3c8a64c7b0\n at java.lang.Thread.sleep(Native method) |
The basic attributes for all user events are defined in the user event base model.
Semantic conventions for W3C Content Security Policy (CSP) rule violations in Dynatrace RUM. These conventions are only supported for RUM JavaScript.
This query searches for all violations of the Content Security Policy (CSP).
fetch user.events| filter characteristics.has_csp_violation == true
| Attribute | Type | Description | Examples |
|---|---|---|---|
characteristics.has_csp_violation | boolean | stable Fixed value true. | true |
characteristics.has_error | boolean | stable Fixed value true. | true |
| Attribute | Type | Description | Examples |
|---|---|---|---|
error.id | uid | experimental Display name: Error IDA unique identifier for error grouping. The error.id is a 16-byte ID and hex-encoded if shown as a string. | 357bf70f3c617cb34584b31bd4616af8 |
error.is_fatal | boolean | experimental Display name: Error is fatalIf set to true, the error resulted in a fatal exit (for example, an unhandled exception). | false |
error.name | string | experimental Display name: Error nameA human-readable version of error.id. Dynatrace can mask this field. To learn more, go to masking personal data in URIs. | 500: foo.bar/path/file; path/file:1:5 |
error.reason | string | experimental Display name: Error reasonThe error reason. RUM JavaScript reports a pre-defined set of values. | no_network |
error.type | string | experimental Display name: Error typeFixed value csp. | csp |
| Attribute | Type | Description | Examples |
|---|---|---|---|
csp.blocked_uri.full | string | stable The absolute URI of the resource that was blocked from loading by the Content Security Policy. The field may also contain one of these special values instead of a URL: data, inline, blob, wasm-eval, eval, attachment, chrome-extension. Dynatrace can mask this field. To learn more, go to masking personal data in URIs. | https://www.foo.bar/resources/file.js; inline; blob |
csp.blocked_uri.scheme | string | stable The URI scheme component. This is extracted from csp.blocked_uri.full. | https |
csp.blocked_uri.domain | string | stable The URI domain component. This is extracted from csp.blocked_uri.full. | www.foo.bar |
csp.blocked_uri.path | string | stable The URI path component. This is extracted from csp.blocked_uri.full. | /resources/file.js |
csp.blocked_uri.query | string | stable The URI query component. This is extracted from csp.blocked_uri.full. | |
csp.blocked_uri.fragment | string | stable The URI fragment component. This is extracted from csp.blocked_uri.full. | |
csp.blocked_uri.provider | string | experimental The provider type for the host name of csp.blocked_uri.full. This information is determined by Dynatrace RUM resource detection. | third_party |
csp.document_uri.full | string | stable The full URI of the document in which the violation occurred. Dynatrace can mask this field. To learn more, go to masking personal data in URIs. | https://www.foo.bar/ |
csp.document_uri.scheme | string | stable The URI scheme component. This is extracted from csp.document_uri.full. | https |
csp.document_uri.domain | string | stable The URI domain component. This is extracted from csp.document_uri.full. | www.foo.bar |
csp.document_uri.path | string | stable The URI path component. This is extracted from csp.document_uri.full. | / |
csp.document_uri.query | string | stable The URI query component. This is extracted from csp.document_uri.full. | |
csp.document_uri.fragment | string | stable The URI fragment component. This is extracted from csp.document_uri.full. | |
csp.referrer.full | string | stable The referrer of the document in which the violation occurred. Dynatrace can mask this field. To learn more, go to masking personal data in URIs. | https://www.foo.bar/ |
csp.disposition | string | stable Indicates whether the Content Security Policy was enforced or only reported. | enforce |
csp.violated_directive | string | deprecatedThis is a legacy alias of csp.effective_directive; some browsers may still report it. The policy directive that was violated, as it appears in the policy. | default-src |
csp.effective_directive | string | stable The directive whose enforcement caused the violation. | style-src |
csp.original_policy | string | stable The original policy as specified by the HTTP Content-Security-Policy or the HTTP Content-Security-Policy-Report-Only response header. | default-src 'none'; style-src cdn.foo.bar; report-to /_/csp-reports |
csp.status_code | long | stable The HTTP status code of the resource on which the global object was instantiated. | 200 |
csp.sample | string | stable If the directive's value contains the expression report-sample, this is set to the first 40 characters of the source file. | |
csp.line_number | long | stable Line number where the violation occurred. | 32 |
csp.column_number | long | stable Column number where the violation occurred. | 178 |
csp.source_file.full | string | stable The full URL (from which the external file was loaded) that caused the violation. Dynatrace can mask this field. To learn more, go to masking personal data in URIs. | https://www.foo.bar/ |
csp.reporter | string | stable How the CSP violation was captured on site. | ReportingObserver |
csp.stack_trace | string | stable The stack trace that RUM JavaScript collected for the CSP rule violation by firing an exception. Dynatrace can mask this field. To learn more, go to masking personal data in URIs. | @https://www.foo.bar/path/main.js:59:26 e@https://www.foo.bar/path/lib/1.1/lib.js:2:30315 |
csp.blocked_uri.provider MUST be one of the following:
| Value | Description |
|---|---|
cdn | CDN (content delivery network). |
first_party | First-party provider. |
third_party | Third-party provider. |
csp.disposition MUST be one of the following:
| Value | Description |
|---|---|
enforce | The HTTP Content-Security-Policy response header is used and the request was actually blocked. |
report | The HTTP Content-Security-Policy-Report-Only response header is used and the request was not blocked. |
csp.reporter MUST be one of the following:
| Value | Description |
|---|---|
ReportingObserver | The CSP violation was captured via the ReportingObserver API. |
SecurityPolicyViolationEvent | The CSP violation was captured via the SecurityPolicyViolationEvent API. |
The basic attributes for all user events are defined in the user event base model.
Semantic conventions to describe crash events in Dynatrace RUM. These conventions are supported only for OneAgent for Mobile.
This query searches for all crashes.
fetch user.events| filter characteristics.has_crash == true
| Attribute | Type | Description | Examples |
|---|---|---|---|
characteristics.has_crash | boolean | stable Fixed value true. | true |
characteristics.has_error | boolean | stable Fixed value true. | true |
characteristics.is_api_reported | boolean | stable Set to true for cross-platform (Flutter/React Native) crashes reported via the Dynatrace API. | true |
| Attribute | Type | Description | Examples |
|---|---|---|---|
error.id | uid | experimental Display name: Error IDA unique identifier for error grouping. The error.id is a 16-byte ID and hex-encoded if shown as a string. | 357bf70f3c617cb34584b31bd4616af8 |
error.is_fatal | boolean | experimental Display name: Error is fatalIf set to true, the error resulted in a fatal exit (for example, an unhandled exception). | true |
error.name | string | experimental Display name: Error nameA human-readable version of error.id. Dynatrace can mask this field. To learn more, go to masking personal data in URIs. | 500: foo.bar/path/file; path/file:1:5 |
error.type | string | experimental Display name: Error typeFixed value crash. | crash |
| Attribute | Type | Description | Examples |
|---|---|---|---|
exception.crash_signal_name | string | stable The signal that was sent to the process. | SIGSEGV |
exception.message | string | stable Display name: Exception messageA message that describes the exception. | Division by zero |
exception.stack_trace | string | stable Display name: Exception stack traceThe stack trace of the crash or a full crash report. The format depends on the technology and source. | java.lang.ArithmeticException: divide by zero\n at com.example.Foo.bar(Foo.kt:14); signal 6 (SIGABRT), code -1 (SI_QUEUE), fault addr 0000000000000000\nThread-18:\n #00 pc 000000000005cb90 /apex/com.android.runtime/lib64/bionic/libc.so (abort+192) (BuildId: eb58b4d427279994f00c0e1818477e4f) |
exception.type | string | stable Display name: Exception typeThe type of the exception, for example, its fully-qualified class name or the crash type of a native crash in an Android application. | java.net.ConnectException; OSError; char* |
The basic attributes for all user events are defined in the user event base model.
Semantic conventions to describe error events reported via the Dynatrace API. These conventions are supported only for OneAgent for Mobile.
This query searches for all errors reported via the Dynatrace API.
fetch user.events| filter characteristics.has_error AND characteristics.is_api_reported
| Attribute | Type | Description | Examples |
|---|---|---|---|
characteristics.has_error | boolean | stable Fixed value true. | true |
characteristics.is_api_reported | boolean | stable Fixed value true. | true |
| Attribute | Type | Description | Examples |
|---|---|---|---|
error.code | long | experimental Display name: Error codeThe code of the error. Set for iOS (NSError and Swift Error) and custom errors for C-based languages. | -1; 3072 |
error.has_custom_name | boolean | experimental Display name: Custom error name setIf set to true, the error.name was reported via the Dynatrace API. | true |
error.id | uid | experimental Display name: Error IDA unique identifier for error grouping. The error.id is a 16-byte ID and hex-encoded if shown as a string. | 357bf70f3c617cb34584b31bd4616af8 |
error.is_fatal | boolean | experimental Display name: Error is fatalIf set to true, the error resulted in a fatal exit (for example, an unhandled exception). | true |
error.name | string | experimental Display name: Error nameA human-readable version of error.id. Dynatrace can mask this field. To learn more, go to masking personal data in URIs. | 500: foo.bar/path/file; path/file:1:5 |
error.reason | string | experimental Display name: Error reasonThe error reason. RUM JavaScript reports a pre-defined set of values. OneAgent for iOS reports nserror.domain. | no_network |
error.type | string | experimental Display name: Error typeFixed value reported. | reported |
The semantics for exceptions reported via the Dynatrace API are defined in the exception model.
The basic attributes for all user events are defined in the user event base model.
Semantic conventions to describe exceptions in Dynatrace RUM.
This query searches for all exceptions.
fetch user.events| filter characteristics.has_exception == true
| Attribute | Type | Description | Examples |
|---|---|---|---|
characteristics.has_error | boolean | stable Fixed value true. | true |
characteristics.has_exception | boolean | stable Fixed value true. | true |
characteristics.is_api_reported | boolean | stable Additional characteristic: If set to true, the user event was sent using the Dynatrace API. | true |
| Attribute | Type | Description | Examples |
|---|---|---|---|
error.has_custom_name | boolean | experimental Display name: Custom error name setIf set to true, the error.name was reported via the Dynatrace API. | true |
error.id | uid | experimental Display name: Error IDA unique identifier for error grouping. The error.id is a 16-byte ID and hex-encoded if shown as a string. | 357bf70f3c617cb34584b31bd4616af8 |
error.is_fatal | boolean | experimental Display name: Error is fatalIf set to true, the error resulted in a fatal exit (for example, an unhandled exception). | true |
error.name | string | experimental Display name: Error nameA human-readable version of error.id. Dynatrace can mask this field. To learn more, go to masking personal data in URIs. | 500: foo.bar/path/file; path/file:1:5 |
error.reason | string | experimental Display name: Error reasonThe error reason. RUM JavaScript reports a pre-defined set of values. OneAgent for iOS reports nserror.domain. | no_network |
error.source | string | experimental Display name: Error sourceThe error source. | fetch; console |
error.type | string | experimental Display name: Error typeFixed value exception. | exception |
| Attribute | Type | Description | Examples |
|---|---|---|---|
exception.column_number | long | stable Display name: Exception column numberThe column number where the exception happened. Only supported by RUM JavaScript, the value is reported as provided by the browser. | 12304 |
exception.file.domain | string | stable Display name: Exception file domainThe URI domain component. This is extracted from exception.file.full. | www.foo.bar |
exception.file.full | string | stable Display name: Exception fileThe full file location when the exception happened. Only supported by RUM JavaScript, the value is reported as provided by the browser. Dynatrace can mask this field. To learn more, go to masking personal data in URIs. | https://www.foo.bar/path/main.js; main.js; <anonymous> |
exception.file.path | string | stable Display name: Exception file pathThe URI path component. This is extracted from exception.file.full. | /path/main.js |
exception.file.provider | string | experimental The provider type for the host name of exception.file.full. This information is determined by Dynatrace RUM resource detection. | third_party |
exception.is_stack_trace_generated | boolean | stable Display name: Exception is stack trace generatedIf set to true, the captured stack trace was generated by Dynatrace RUM. This is only available if the user event contains a stack trace. Only supported by RUM JavaScript and OneAgent for Mobile with the Dynatrace Flutter extension. | false |
exception.is_stack_trace_wrapped | boolean | stable If set to true, Dynatrace RUM wrapped the method that caused the exception. This is only available if the user event contains a stack trace. Only supported by RUM JavaScript and OneAgent for Mobile with the Dynatrace Flutter extension. | false |
exception.line_number | long | stable Display name: Exception line numberThe line number where the exception happened. Only supported by RUM JavaScript, the value is reported as provided by the browser. | 1401 |
exception.message | string | experimental Display name: Exception messageA message that describes the exception. Dynatrace can mask this field. To learn more, go to masking personal data in URIs. | Division by zero |
exception.stack_trace | string | stable Display name: Exception stack traceThe stack trace of the exception. The format depends on the technology and source. While OneAgent formats stack traces to unify them across technologies, stack traces from an OpenTelemetry source are in the format they were sent to Dynatrace. Dynatrace can mask this field. To learn more, go to masking personal data in URIs. | @https://www.foo.bar/path/main.js:59:26 e@https://www.foo.bar/path/lib/1.1/lib.js:2:30315 |
exception.type | string | experimental Display name: Exception typeThe type of the exception, for example, its fully-qualified class name. | java.net.ConnectException; OSError |
The basic attributes for all user events are defined in the user event base model.