Expand description
Data structures used by operation inputs/outputs.
Modules§
- Builders
- Error types that CloudWatch RUM can respond with.
Structs§
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.
This structure contains much of the configuration data for the app monitor.
A structure that contains information about the RUM app monitor.
A structure that includes some data about app monitors and their settings.
A structure that defines one error caused by a BatchCreateRumMetricsDefinitions operation.
A structure that defines one error caused by a BatchCreateRumMetricsDefinitions operation.
A structure that contains information about custom events for this app monitor.
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.
A structure that contains information about whether this app monitor stores a copy of the telemetry data that RUM collects using CloudWatch Logs.
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.
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/RUMnamespace, the following validations apply:-
The
Namespaceparameter must be omitted or set toAWS/RUM. -
Only certain combinations of values for
Name,ValueKey, andEventPatternare valid. In addition to what is displayed in the following list, theEventPatterncan also include information used by theDimensionKeysfield.-
If
NameisPerformanceNavigationDuration, thenValueKeymust beevent_details.durationand theEventPatternmust include{"event_type":\["com.amazon.rum.performance_navigation_event"\]} -
If
NameisPerformanceResourceDuration, thenValueKeymust beevent_details.durationand theEventPatternmust include{"event_type":\["com.amazon.rum.performance_resource_event"\]} -
If
NameisNavigationSatisfiedTransaction, thenValueKeymust be null and theEventPatternmust include{ "event_type": \["com.amazon.rum.performance_navigation_event"\], "event_details": { "duration": \[{ "numeric": \[">",2000\] }\] } } -
If
NameisNavigationToleratedTransaction, thenValueKeymust be null and theEventPatternmust include{ "event_type": \["com.amazon.rum.performance_navigation_event"\], "event_details": { "duration": \[{ "numeric": \[">=",2000,"<"8000\] }\] } } -
If
NameisNavigationFrustratedTransaction, thenValueKeymust be null and theEventPatternmust include{ "event_type": \["com.amazon.rum.performance_navigation_event"\], "event_details": { "duration": \[{ "numeric": \[">=",8000\] }\] } } -
If
NameisWebVitalsCumulativeLayoutShift, thenValueKeymust beevent_details.valueand theEventPatternmust include{"event_type":\["com.amazon.rum.cumulative_layout_shift_event"\]} -
If
NameisWebVitalsFirstInputDelay, thenValueKeymust beevent_details.valueand theEventPatternmust include{"event_type":\["com.amazon.rum.first_input_delay_event"\]} -
If
NameisWebVitalsLargestContentfulPaint, thenValueKeymust beevent_details.valueand theEventPatternmust include{"event_type":\["com.amazon.rum.largest_contentful_paint_event"\]} -
If
NameisJsErrorCount, thenValueKeymust be null and theEventPatternmust include{"event_type":\["com.amazon.rum.js_error_event"\]} -
If
NameisHttpErrorCount, thenValueKeymust be null and theEventPatternmust include{"event_type":\["com.amazon.rum.http_event"\]} -
If
NameisSessionCount, thenValueKeymust be null and theEventPatternmust include{"event_type":\["com.amazon.rum.session_start_event"\]} -
If
NameisPageViewCount, thenValueKeymust be null and theEventPatternmust include{"event_type":\["com.amazon.rum.page_view_event"\]} -
If
NameisHttp4xxCount, thenValueKeymust be null and theEventPatternmust include{"event_type": \["com.amazon.rum.http_event"\],"event_details":{"response":{"status":\[{"numeric":\[">=",400,"<",500\]}\]}}} } -
If
NameisHttp5xxCount, thenValueKeymust be null and theEventPatternmust 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 theAWS/RUMnamespace only for extended metrics. -
All dimensions listed in the
DimensionKeysfield must be present in the value ofEventPattern. -
The values that you specify for
ValueKey,EventPattern, andDimensionKeysmust 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-emptyevent_type. -
If
EventPatterncontains anevent_detailsfield, it must also contain anevent_type. For every built-inevent_typethat you use, you must use a value forevent_detailsthat corresponds to thatevent_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, andDimensionKeysfields:-
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
-
A structure that displays information about one destination that CloudWatch RUM sends extended metrics to.
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
QueryFilterstructures.For example, you could specify
Browseras theNameand specifyChrome,Firefoxas theValuesto return events generated only from those browsers.Specifying
Invertas theNameworks as a "not equal to" filter. For example, specifyInvertas theNameand specifyChromeas the value to return all events except events from user sessions with the Chrome browser.A structure that contains the information for one performance event that RUM collects from a user session with your application.
A structure that defines the time range that you want to retrieve results from.
A structure that contains information about the user session that this batch of events was collected from.
Enums§
- 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. - 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. - 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. - 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.