Many resources are needed to download a project. Please understand that we have to compensate our server costs. Thank you in advance. Project price only 1 $
You can buy this project and download/modify it how often you want.
Build cloud applications and infrastructure by combining the safety and reliability of infrastructure as code with the power of the Kotlin programming language.
@file:Suppress("NAME_SHADOWING", "DEPRECATION")
package com.pulumi.awsnative.rum.kotlin.inputs
import com.pulumi.awsnative.rum.inputs.AppMonitorMetricDefinitionArgs.builder
import com.pulumi.core.Output
import com.pulumi.core.Output.of
import com.pulumi.kotlin.ConvertibleToJava
import com.pulumi.kotlin.PulumiNullFieldException
import com.pulumi.kotlin.PulumiTagMarker
import kotlin.Pair
import kotlin.String
import kotlin.Suppress
import kotlin.collections.Map
import kotlin.jvm.JvmName
/**
* A single metric definition
* @property 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. 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.
* @property 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.
* @property name 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
* @property namespace The namespace used by CloudWatch Metrics for the metric that is defined in this structure
* @property unitLabel The CloudWatch metric unit to use for this metric. If you omit this field, the metric is recorded with no unit.
* @property 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 Evidently, this field will be passed to Evidently raw and Evidently will handle data extraction from the event.
*/
public data class AppMonitorMetricDefinitionArgs(
public val dimensionKeys: Output