| Copyright | (c) 2013-2023 Brendan Hay |
|---|---|
| License | Mozilla Public License, v. 2.0. |
| Maintainer | Brendan Hay |
| Stability | auto-generated |
| Portability | non-portable (GHC extensions) |
| Safe Haskell | Safe-Inferred |
| Language | Haskell2010 |
Amazonka.Rum.Types.MetricDefinitionRequest
Description
Synopsis
- data MetricDefinitionRequest = MetricDefinitionRequest' {}
- newMetricDefinitionRequest :: Text -> MetricDefinitionRequest
- metricDefinitionRequest_dimensionKeys :: Lens' MetricDefinitionRequest (Maybe (HashMap Text Text))
- metricDefinitionRequest_eventPattern :: Lens' MetricDefinitionRequest (Maybe Text)
- metricDefinitionRequest_unitLabel :: Lens' MetricDefinitionRequest (Maybe Text)
- metricDefinitionRequest_valueKey :: Lens' MetricDefinitionRequest (Maybe Text)
- metricDefinitionRequest_name :: Lens' MetricDefinitionRequest Text
Documentation
data MetricDefinitionRequest Source #
Use this structure to define one extended metric that RUM will send to CloudWatch or CloudWatch Evidently. For more information, see Additional metrics that you can send to CloudWatch and CloudWatch Evidently.
Only certain combinations of values for Name, ValueKey, and
EventPattern are valid. In addition to what is displayed in the list
below, the EventPattern can also include information used by the
DimensionKeys field.
- 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"]}
See: newMetricDefinitionRequest smart constructor.
Constructors
| MetricDefinitionRequest' | |
Fields
| |
Instances
newMetricDefinitionRequest Source #
Create a value of MetricDefinitionRequest with all optional fields omitted.
Use generic-lens or optics to modify other optional fields.
The following record fields are available, with the corresponding lenses provided for backwards compatibility:
$sel:dimensionKeys:MetricDefinitionRequest', metricDefinitionRequest_dimensionKeys - Use this field only if you are sending the metric to CloudWatch.
This field is a map of field paths to dimension names. It defines the dimensions to associate with this metric in CloudWatch. Valid values for the entries in this field are the following:
"metadata.pageId": "PageId"
"metadata.browserName": "BrowserName"
"metadata.deviceType": "DeviceType"
"metadata.osName": "OSName"
"metadata.countryCode": "CountryCode"
"event_details.fileType": "FileType"
All dimensions listed in this field must also be included in
EventPattern.
$sel:eventPattern:MetricDefinitionRequest', metricDefinitionRequest_eventPattern - The pattern that defines the metric, specified as a JSON object. RUM
checks events that happen in a user's session against the pattern, and
events that match the pattern are sent to the metric destination.
When you define extended metrics, the metric definition is not valid if
EventPattern is omitted.
Example event patterns:
'{ "event_type": ["com.amazon.rum.js_error_event"], "metadata": { "browserName": [ "Chrome", "Safari" ], } }''{ "event_type": ["com.amazon.rum.performance_navigation_event"], "metadata": { "browserName": [ "Chrome", "Firefox" ] }, "event_details": { "duration": [{ "numeric": [ "<", 2000 ] }] } }''{ "event_type": ["com.amazon.rum.performance_navigation_event"], "metadata": { "browserName": [ "Chrome", "Safari" ], "countryCode": [ "US" ] }, "event_details": { "duration": [{ "numeric": [ ">=", 2000, "<", 8000 ] }] } }'
If the metrics destination' is CloudWatch and the event also matches
a value in DimensionKeys, then the metric is published with the
specified dimensions.
$sel:unitLabel:MetricDefinitionRequest', metricDefinitionRequest_unitLabel - The CloudWatch metric unit to use for this metric. If you omit this
field, the metric is recorded with no unit.
$sel:valueKey:MetricDefinitionRequest', metricDefinitionRequest_valueKey - The field within the event object that the metric value is sourced from.
If you omit this field, a hardcoded value of 1 is pushed as the metric value. This is useful if you just want to count the number of events that the filter catches.
If this metric is sent to CloudWatch Evidently, this field will be passed to Evidently raw and Evidently will handle data extraction from the event.
$sel:name:MetricDefinitionRequest', metricDefinitionRequest_name - The name for the metric that is defined in this structure. Valid values
are the following:
PerformanceNavigationDuration
PerformanceResourceDuration
NavigationSatisfiedTransaction
NavigationToleratedTransaction
NavigationFrustratedTransaction
WebVitalsCumulativeLayoutShift
WebVitalsFirstInputDelay
WebVitalsLargestContentfulPaint
JsErrorCount
HttpErrorCount
SessionCount
metricDefinitionRequest_dimensionKeys :: Lens' MetricDefinitionRequest (Maybe (HashMap Text Text)) Source #
Use this field only if you are sending the metric to CloudWatch.
This field is a map of field paths to dimension names. It defines the dimensions to associate with this metric in CloudWatch. Valid values for the entries in this field are the following:
"metadata.pageId": "PageId"
"metadata.browserName": "BrowserName"
"metadata.deviceType": "DeviceType"
"metadata.osName": "OSName"
"metadata.countryCode": "CountryCode"
"event_details.fileType": "FileType"
All dimensions listed in this field must also be included in
EventPattern.
metricDefinitionRequest_eventPattern :: Lens' MetricDefinitionRequest (Maybe Text) Source #
The pattern that defines the metric, specified as a JSON object. RUM checks events that happen in a user's session against the pattern, and events that match the pattern are sent to the metric destination.
When you define extended metrics, the metric definition is not valid if
EventPattern is omitted.
Example event patterns:
'{ "event_type": ["com.amazon.rum.js_error_event"], "metadata": { "browserName": [ "Chrome", "Safari" ], } }''{ "event_type": ["com.amazon.rum.performance_navigation_event"], "metadata": { "browserName": [ "Chrome", "Firefox" ] }, "event_details": { "duration": [{ "numeric": [ "<", 2000 ] }] } }''{ "event_type": ["com.amazon.rum.performance_navigation_event"], "metadata": { "browserName": [ "Chrome", "Safari" ], "countryCode": [ "US" ] }, "event_details": { "duration": [{ "numeric": [ ">=", 2000, "<", 8000 ] }] } }'
If the metrics destination' is CloudWatch and the event also matches
a value in DimensionKeys, then the metric is published with the
specified dimensions.
metricDefinitionRequest_unitLabel :: Lens' MetricDefinitionRequest (Maybe Text) Source #
The CloudWatch metric unit to use for this metric. If you omit this field, the metric is recorded with no unit.
metricDefinitionRequest_valueKey :: Lens' MetricDefinitionRequest (Maybe Text) Source #
The field within the event object that the metric value is sourced from.
If you omit this field, a hardcoded value of 1 is pushed as the metric value. This is useful if you just want to count the number of events that the filter catches.
If this metric is sent to CloudWatch Evidently, this field will be passed to Evidently raw and Evidently will handle data extraction from the event.
metricDefinitionRequest_name :: Lens' MetricDefinitionRequest Text Source #
The name for the metric that is defined in this structure. Valid values are the following:
PerformanceNavigationDuration
PerformanceResourceDuration
NavigationSatisfiedTransaction
NavigationToleratedTransaction
NavigationFrustratedTransaction
WebVitalsCumulativeLayoutShift
WebVitalsFirstInputDelay
WebVitalsLargestContentfulPaint
JsErrorCount
HttpErrorCount
SessionCount