Module types

Source
Expand description

Data structures used by operation inputs/outputs.

Modules§

builders
Builders
error
Error types that CloudWatch RUM can respond with.

Structs§

AppMonitor

A RUM app monitor collects telemetry data from your application and sends that data to RUM. The data includes performance and reliability information such as page load time, client-side errors, and user behavior.

AppMonitorConfiguration

This structure contains much of the configuration data for the app monitor.

AppMonitorDetails

A structure that contains information about the RUM app monitor.

AppMonitorSummary

A structure that includes some data about app monitors and their settings.

BatchCreateRumMetricDefinitionsError

A structure that defines one error caused by a BatchCreateRumMetricsDefinitions operation.

BatchDeleteRumMetricDefinitionsError

A structure that defines one error caused by a BatchCreateRumMetricsDefinitions operation.

CustomEvents

A structure that contains information about custom events for this app monitor.

CwLog

A structure that contains the information about whether the app monitor stores copies of the data that RUM collects in CloudWatch Logs. If it does, this structure also contains the name of the log group.

DataStorage

A structure that contains information about whether this app monitor stores a copy of the telemetry data that RUM collects using CloudWatch Logs.

DeobfuscationConfiguration

A structure that contains the configuration for how an app monitor can deobfuscate stack traces.

JavaScriptSourceMaps

A structure that contains the configuration for how an app monitor can unminify JavaScript error stack traces using source maps.

MetricDefinition

A structure that displays the definition of one extended metric that RUM sends to CloudWatch or CloudWatch Evidently. For more information, see Additional metrics that you can send to CloudWatch and CloudWatch Evidently.

MetricDefinitionRequest

Use this structure to define one extended metric or custom metric that RUM will send to CloudWatch or CloudWatch Evidently. For more information, see Custom metrics and extended metrics that you can send to CloudWatch and CloudWatch Evidently.

This structure is validated differently for extended metrics and custom metrics. For extended metrics that are sent to the AWS/RUM namespace, the following validations apply:

  • The Namespace parameter must be omitted or set to AWS/RUM.

  • Only certain combinations of values for Name, ValueKey, and EventPattern are valid. In addition to what is displayed in the following list, the EventPattern can also include information used by the DimensionKeys field.

    • If Name is PerformanceNavigationDuration, then ValueKeymust be event_details.duration and the EventPattern must include {"event_type":\["com.amazon.rum.performance_navigation_event"\]}

    • If Name is PerformanceResourceDuration, then ValueKeymust be event_details.duration and the EventPattern must include {"event_type":\["com.amazon.rum.performance_resource_event"\]}

    • If Name is NavigationSatisfiedTransaction, then ValueKeymust be null and the EventPattern must include { "event_type": \["com.amazon.rum.performance_navigation_event"\], "event_details": { "duration": \[{ "numeric": \[">",2000\] }\] } }

    • If Name is NavigationToleratedTransaction, then ValueKeymust be null and the EventPattern must include { "event_type": \["com.amazon.rum.performance_navigation_event"\], "event_details": { "duration": \[{ "numeric": \[">=",2000,"<"8000\] }\] } }

    • If Name is NavigationFrustratedTransaction, then ValueKeymust be null and the EventPattern must include { "event_type": \["com.amazon.rum.performance_navigation_event"\], "event_details": { "duration": \[{ "numeric": \[">=",8000\] }\] } }

    • If Name is WebVitalsCumulativeLayoutShift, then ValueKeymust be event_details.value and the EventPattern must include {"event_type":\["com.amazon.rum.cumulative_layout_shift_event"\]}

    • If Name is WebVitalsFirstInputDelay, then ValueKeymust be event_details.value and the EventPattern must include {"event_type":\["com.amazon.rum.first_input_delay_event"\]}

    • If Name is WebVitalsLargestContentfulPaint, then ValueKeymust be event_details.value and the EventPattern must include {"event_type":\["com.amazon.rum.largest_contentful_paint_event"\]}

    • If Name is JsErrorCount, then ValueKeymust be null and the EventPattern must include {"event_type":\["com.amazon.rum.js_error_event"\]}

    • If Name is HttpErrorCount, then ValueKeymust be null and the EventPattern must include {"event_type":\["com.amazon.rum.http_event"\]}

    • If Name is SessionCount, then ValueKeymust be null and the EventPattern must include {"event_type":\["com.amazon.rum.session_start_event"\]}

    • If Name is PageViewCount, then ValueKeymust be null and the EventPattern must include {"event_type":\["com.amazon.rum.page_view_event"\]}

    • If Name is Http4xxCount, then ValueKeymust be null and the EventPattern must include {"event_type": \["com.amazon.rum.http_event"\],"event_details":{"response":{"status":\[{"numeric":\[">=",400,"<",500\]}\]}}} }

    • If Name is Http5xxCount, then ValueKeymust be null and the EventPattern must include {"event_type": \["com.amazon.rum.http_event"\],"event_details":{"response":{"status":\[{"numeric":\[">=",500,"<=",599\]}\]}}} }

For custom metrics, the following validation rules apply:

  • The namespace can't be omitted and can't be AWS/RUM. You can use the AWS/RUM namespace only for extended metrics.

  • All dimensions listed in the DimensionKeys field must be present in the value of EventPattern.

  • The values that you specify for ValueKey, EventPattern, and DimensionKeys must be fields in RUM events, so all first-level keys in these fields must be one of the keys in the list later in this section.

  • If you set a value for EventPattern, it must be a JSON object.

  • For every non-empty event_details, there must be a non-empty event_type.

  • If EventPattern contains an event_details field, it must also contain an event_type. For every built-in event_type that you use, you must use a value for event_details that corresponds to that event_type. For information about event details that correspond to event types, see RUM event details.

  • In EventPattern, any JSON array must contain only one value.

Valid key values for first-level keys in the ValueKey, EventPattern, and DimensionKeys fields:

  • account_id

  • application_Id

  • application_version

  • application_name

  • batch_id

  • event_details

  • event_id

  • event_interaction

  • event_timestamp

  • event_type

  • event_version

  • log_stream

  • metadata

  • sessionId

  • user_details

  • userId

MetricDestinationSummary

A structure that displays information about one destination that CloudWatch RUM sends extended metrics to.

QueryFilter

A structure that defines a key and values that you can use to filter the results. The only performance events that are returned are those that have values matching the ones that you specify in one of your QueryFilter structures.

For example, you could specify Browser as the Name and specify Chrome,Firefox as the Values to return events generated only from those browsers.

Specifying Invert as the Name works as a "not equal to" filter. For example, specify Invert as the Name and specify Chrome as the value to return all events except events from user sessions with the Chrome browser.

RumEvent

A structure that contains the information for one performance event that RUM collects from a user session with your application.

TimeRange

A structure that defines the time range that you want to retrieve results from.

UserDetails

A structure that contains information about the user session that this batch of events was collected from.

Enums§

CustomEventsStatus
When writing a match expression against CustomEventsStatus, it is important to ensure your code is forward-compatible. That is, if a match arm handles a case for a feature that is supported by the service but has not been represented as an enum variant in a current version of SDK, your code should continue to work when you upgrade SDK to a future version in which the enum does include a variant for that feature.
DeobfuscationStatus
When writing a match expression against DeobfuscationStatus, it is important to ensure your code is forward-compatible. That is, if a match arm handles a case for a feature that is supported by the service but has not been represented as an enum variant in a current version of SDK, your code should continue to work when you upgrade SDK to a future version in which the enum does include a variant for that feature.
MetricDestination
When writing a match expression against MetricDestination, it is important to ensure your code is forward-compatible. That is, if a match arm handles a case for a feature that is supported by the service but has not been represented as an enum variant in a current version of SDK, your code should continue to work when you upgrade SDK to a future version in which the enum does include a variant for that feature.
StateEnum
When writing a match expression against StateEnum, it is important to ensure your code is forward-compatible. That is, if a match arm handles a case for a feature that is supported by the service but has not been represented as an enum variant in a current version of SDK, your code should continue to work when you upgrade SDK to a future version in which the enum does include a variant for that feature.
Telemetry
When writing a match expression against Telemetry, it is important to ensure your code is forward-compatible. That is, if a match arm handles a case for a feature that is supported by the service but has not been represented as an enum variant in a current version of SDK, your code should continue to work when you upgrade SDK to a future version in which the enum does include a variant for that feature.