#[non_exhaustive]
pub struct MetricDefinitionRequestBuilder { /* private fields */ }
Expand description

A builder for MetricDefinitionRequest.

Implementations§

source§

impl MetricDefinitionRequestBuilder

source

pub fn name(self, input: impl Into<String>) -> Self

The name for the metric that is defined in this structure. For custom metrics, you can specify any name that you like. For extended metrics, valid values are the following:

  • PerformanceNavigationDuration

  • PerformanceResourceDuration

  • NavigationSatisfiedTransaction

  • NavigationToleratedTransaction

  • NavigationFrustratedTransaction

  • WebVitalsCumulativeLayoutShift

  • WebVitalsFirstInputDelay

  • WebVitalsLargestContentfulPaint

  • JsErrorCount

  • HttpErrorCount

  • SessionCount

This field is required.
source

pub fn set_name(self, input: Option<String>) -> Self

The name for the metric that is defined in this structure. For custom metrics, you can specify any name that you like. For extended metrics, valid values are the following:

  • PerformanceNavigationDuration

  • PerformanceResourceDuration

  • NavigationSatisfiedTransaction

  • NavigationToleratedTransaction

  • NavigationFrustratedTransaction

  • WebVitalsCumulativeLayoutShift

  • WebVitalsFirstInputDelay

  • WebVitalsLargestContentfulPaint

  • JsErrorCount

  • HttpErrorCount

  • SessionCount

source

pub fn get_name(&self) -> &Option<String>

The name for the metric that is defined in this structure. For custom metrics, you can specify any name that you like. For extended metrics, valid values are the following:

  • PerformanceNavigationDuration

  • PerformanceResourceDuration

  • NavigationSatisfiedTransaction

  • NavigationToleratedTransaction

  • NavigationFrustratedTransaction

  • WebVitalsCumulativeLayoutShift

  • WebVitalsFirstInputDelay

  • WebVitalsLargestContentfulPaint

  • JsErrorCount

  • HttpErrorCount

  • SessionCount

source

pub fn value_key(self, input: impl Into<String>) -> Self

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.

source

pub fn set_value_key(self, input: Option<String>) -> Self

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.

source

pub fn get_value_key(&self) -> &Option<String>

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.

source

pub fn unit_label(self, input: impl Into<String>) -> Self

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

source

pub fn set_unit_label(self, input: Option<String>) -> Self

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

source

pub fn get_unit_label(&self) -> &Option<String>

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

source

pub fn dimension_keys(self, k: impl Into<String>, v: impl Into<String>) -> Self

Adds a key-value pair to dimension_keys.

To override the contents of this collection use set_dimension_keys.

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"

For both extended metrics and custom metrics, all dimensions listed in this field must also be included in EventPattern.

source

pub fn set_dimension_keys(self, input: Option<HashMap<String, String>>) -> Self

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"

For both extended metrics and custom metrics, all dimensions listed in this field must also be included in EventPattern.

source

pub fn get_dimension_keys(&self) -> &Option<HashMap<String, String>>

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"

For both extended metrics and custom metrics, all dimensions listed in this field must also be included in EventPattern.

source

pub fn event_pattern(self, input: impl Into<String>) -> Self

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.

source

pub fn set_event_pattern(self, input: Option<String>) -> Self

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.

source

pub fn get_event_pattern(&self) -> &Option<String>

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.

source

pub fn namespace(self, input: impl Into<String>) -> Self

If this structure is for a custom metric instead of an extended metrics, use this parameter to define the metric namespace for that custom metric. Do not specify this parameter if this structure is for an extended metric.

You cannot use any string that starts with AWS/ for your namespace.

source

pub fn set_namespace(self, input: Option<String>) -> Self

If this structure is for a custom metric instead of an extended metrics, use this parameter to define the metric namespace for that custom metric. Do not specify this parameter if this structure is for an extended metric.

You cannot use any string that starts with AWS/ for your namespace.

source

pub fn get_namespace(&self) -> &Option<String>

If this structure is for a custom metric instead of an extended metrics, use this parameter to define the metric namespace for that custom metric. Do not specify this parameter if this structure is for an extended metric.

You cannot use any string that starts with AWS/ for your namespace.

source

pub fn build(self) -> Result<MetricDefinitionRequest, BuildError>

Consumes the builder and constructs a MetricDefinitionRequest. This method will fail if any of the following fields are not set:

Trait Implementations§

source§

impl Clone for MetricDefinitionRequestBuilder

source§

fn clone(&self) -> MetricDefinitionRequestBuilder

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
source§

impl Debug for MetricDefinitionRequestBuilder

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl Default for MetricDefinitionRequestBuilder

source§

fn default() -> MetricDefinitionRequestBuilder

Returns the “default value” for a type. Read more
source§

impl PartialEq for MetricDefinitionRequestBuilder

source§

fn eq(&self, other: &MetricDefinitionRequestBuilder) -> bool

This method tests for self and other values to be equal, and is used by ==.
1.0.0 · source§

fn ne(&self, other: &Rhs) -> bool

This method tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
source§

impl StructuralPartialEq for MetricDefinitionRequestBuilder

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for Twhere T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for Twhere T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for Twhere T: ?Sized,

source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

source§

impl<T> Instrument for T

source§

fn instrument(self, span: Span) -> Instrumented<Self>

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
source§

fn in_current_span(self) -> Instrumented<Self>

Instruments this type with the current Span, returning an Instrumented wrapper. Read more
source§

impl<T, U> Into<U> for Twhere U: From<T>,

source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

source§

impl<Unshared, Shared> IntoShared<Shared> for Unsharedwhere Shared: FromUnshared<Unshared>,

source§

fn into_shared(self) -> Shared

Creates a shared type from an unshared type.
source§

impl<T> Same for T

§

type Output = T

Should always be Self
source§

impl<T> ToOwned for Twhere T: Clone,

§

type Owned = T

The resulting type after obtaining ownership.
source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
source§

impl<T, U> TryFrom<U> for Twhere U: Into<T>,

§

type Error = Infallible

The type returned in the event of a conversion error.
source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
source§

impl<T, U> TryInto<U> for Twhere U: TryFrom<T>,

§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
source§

impl<T> WithSubscriber for T

source§

fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>where S: Into<Dispatch>,

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more
source§

fn with_current_subscriber(self) -> WithDispatch<Self>

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more