AppMonitorMetricDefinitionArgs

data class AppMonitorMetricDefinitionArgs(val dimensionKeys: Output<Map<String, String>>? = null, val eventPattern: Output<String>? = null, val name: Output<String>, val namespace: Output<String>? = null, val unitLabel: Output<String>? = null, val valueKey: Output<String>? = null) : ConvertibleToJava<AppMonitorMetricDefinitionArgs>

A single metric definition

Constructors

Link copied to clipboard
constructor(dimensionKeys: Output<Map<String, String>>? = null, eventPattern: Output<String>? = null, name: Output<String>, namespace: Output<String>? = null, unitLabel: Output<String>? = null, valueKey: Output<String>? = null)

Properties

Link copied to clipboard
val dimensionKeys: Output<Map<String, String>>? = null

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. For extended metrics, 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.

Link copied to clipboard
val eventPattern: Output<String>? = null

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.

Link copied to clipboard
val name: Output<String>

The name for the metric that is defined in this structure. For extended metrics, valid values are the following: PerformanceNavigationDuration PerformanceResourceDuration NavigationSatisfiedTransaction NavigationToleratedTransaction NavigationFrustratedTransaction WebVitalsCumulativeLayoutShift WebVitalsFirstInputDelay WebVitalsLargestContentfulPaint JsErrorCount HttpErrorCount SessionCount

Link copied to clipboard
val namespace: Output<String>? = null

The namespace used by CloudWatch Metrics for the metric that is defined in this structure

Link copied to clipboard
val unitLabel: Output<String>? = null

The CloudWatch metric unit to use for this metric. If you omit this field, the metric is recorded with no unit.

Link copied to clipboard
val valueKey: Output<String>? = null

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 Evidently, this field will be passed to Evidently raw and Evidently will handle data extraction from the event.

Functions

Link copied to clipboard
open override fun toJava(): AppMonitorMetricDefinitionArgs