#[non_exhaustive]pub struct RumMetricCreateAttributes {
pub compute: RumMetricCompute,
pub event_type: RumMetricEventType,
pub filter: Option<RumMetricFilter>,
pub group_by: Option<Vec<RumMetricGroupBy>>,
pub uniqueness: Option<RumMetricUniqueness>,
pub additional_properties: BTreeMap<String, Value>,
/* private fields */
}
Expand description
The object describing the Datadog rum-based metric to create.
Fields (Non-exhaustive)§
This struct is marked as non-exhaustive
Non-exhaustive structs could have additional fields added in future. Therefore, non-exhaustive structs cannot be constructed in external crates using the traditional
Struct { .. }
syntax; cannot be matched against without a wildcard ..
; and struct update syntax will not work.compute: RumMetricCompute
The compute rule to compute the rum-based metric.
event_type: RumMetricEventType
The type of RUM events to filter on.
filter: Option<RumMetricFilter>
The rum-based metric filter. Events matching this filter will be aggregated in this metric.
group_by: Option<Vec<RumMetricGroupBy>>
The rules for the group by.
uniqueness: Option<RumMetricUniqueness>
The rule to count updatable events. Is only set if event_type
is sessions
or views
.
additional_properties: BTreeMap<String, Value>
Implementations§
Source§impl RumMetricCreateAttributes
impl RumMetricCreateAttributes
Sourcepub fn new(
compute: RumMetricCompute,
event_type: RumMetricEventType,
) -> RumMetricCreateAttributes
pub fn new( compute: RumMetricCompute, event_type: RumMetricEventType, ) -> RumMetricCreateAttributes
Examples found in repository?
examples/v2_rum-metrics_CreateRumMetric.rs (lines 19-24)
17async fn main() {
18 let body = RumMetricCreateRequest::new(RumMetricCreateData::new(
19 RumMetricCreateAttributes::new(
20 RumMetricCompute::new(RumMetricComputeAggregationType::DISTRIBUTION)
21 .include_percentiles(true)
22 .path("@duration".to_string()),
23 RumMetricEventType::SESSION,
24 )
25 .filter(RumMetricFilter::new("@service:web-ui".to_string()))
26 .group_by(vec![
27 RumMetricGroupBy::new("@browser.name".to_string()).tag_name("browser_name".to_string())
28 ])
29 .uniqueness(RumMetricUniqueness::new(
30 RumMetricUniquenessWhen::WHEN_MATCH,
31 )),
32 "examplerummetric".to_string(),
33 RumMetricType::RUM_METRICS,
34 ));
35 let configuration = datadog::Configuration::new();
36 let api = RumMetricsAPI::with_config(configuration);
37 let resp = api.create_rum_metric(body).await;
38 if let Ok(value) = resp {
39 println!("{:#?}", value);
40 } else {
41 println!("{:#?}", resp.unwrap_err());
42 }
43}
Sourcepub fn filter(self, value: RumMetricFilter) -> Self
pub fn filter(self, value: RumMetricFilter) -> Self
Examples found in repository?
examples/v2_rum-metrics_CreateRumMetric.rs (line 25)
17async fn main() {
18 let body = RumMetricCreateRequest::new(RumMetricCreateData::new(
19 RumMetricCreateAttributes::new(
20 RumMetricCompute::new(RumMetricComputeAggregationType::DISTRIBUTION)
21 .include_percentiles(true)
22 .path("@duration".to_string()),
23 RumMetricEventType::SESSION,
24 )
25 .filter(RumMetricFilter::new("@service:web-ui".to_string()))
26 .group_by(vec![
27 RumMetricGroupBy::new("@browser.name".to_string()).tag_name("browser_name".to_string())
28 ])
29 .uniqueness(RumMetricUniqueness::new(
30 RumMetricUniquenessWhen::WHEN_MATCH,
31 )),
32 "examplerummetric".to_string(),
33 RumMetricType::RUM_METRICS,
34 ));
35 let configuration = datadog::Configuration::new();
36 let api = RumMetricsAPI::with_config(configuration);
37 let resp = api.create_rum_metric(body).await;
38 if let Ok(value) = resp {
39 println!("{:#?}", value);
40 } else {
41 println!("{:#?}", resp.unwrap_err());
42 }
43}
Sourcepub fn group_by(self, value: Vec<RumMetricGroupBy>) -> Self
pub fn group_by(self, value: Vec<RumMetricGroupBy>) -> Self
Examples found in repository?
examples/v2_rum-metrics_CreateRumMetric.rs (lines 26-28)
17async fn main() {
18 let body = RumMetricCreateRequest::new(RumMetricCreateData::new(
19 RumMetricCreateAttributes::new(
20 RumMetricCompute::new(RumMetricComputeAggregationType::DISTRIBUTION)
21 .include_percentiles(true)
22 .path("@duration".to_string()),
23 RumMetricEventType::SESSION,
24 )
25 .filter(RumMetricFilter::new("@service:web-ui".to_string()))
26 .group_by(vec![
27 RumMetricGroupBy::new("@browser.name".to_string()).tag_name("browser_name".to_string())
28 ])
29 .uniqueness(RumMetricUniqueness::new(
30 RumMetricUniquenessWhen::WHEN_MATCH,
31 )),
32 "examplerummetric".to_string(),
33 RumMetricType::RUM_METRICS,
34 ));
35 let configuration = datadog::Configuration::new();
36 let api = RumMetricsAPI::with_config(configuration);
37 let resp = api.create_rum_metric(body).await;
38 if let Ok(value) = resp {
39 println!("{:#?}", value);
40 } else {
41 println!("{:#?}", resp.unwrap_err());
42 }
43}
Sourcepub fn uniqueness(self, value: RumMetricUniqueness) -> Self
pub fn uniqueness(self, value: RumMetricUniqueness) -> Self
Examples found in repository?
examples/v2_rum-metrics_CreateRumMetric.rs (lines 29-31)
17async fn main() {
18 let body = RumMetricCreateRequest::new(RumMetricCreateData::new(
19 RumMetricCreateAttributes::new(
20 RumMetricCompute::new(RumMetricComputeAggregationType::DISTRIBUTION)
21 .include_percentiles(true)
22 .path("@duration".to_string()),
23 RumMetricEventType::SESSION,
24 )
25 .filter(RumMetricFilter::new("@service:web-ui".to_string()))
26 .group_by(vec![
27 RumMetricGroupBy::new("@browser.name".to_string()).tag_name("browser_name".to_string())
28 ])
29 .uniqueness(RumMetricUniqueness::new(
30 RumMetricUniquenessWhen::WHEN_MATCH,
31 )),
32 "examplerummetric".to_string(),
33 RumMetricType::RUM_METRICS,
34 ));
35 let configuration = datadog::Configuration::new();
36 let api = RumMetricsAPI::with_config(configuration);
37 let resp = api.create_rum_metric(body).await;
38 if let Ok(value) = resp {
39 println!("{:#?}", value);
40 } else {
41 println!("{:#?}", resp.unwrap_err());
42 }
43}
pub fn additional_properties(self, value: BTreeMap<String, Value>) -> Self
Trait Implementations§
Source§impl Clone for RumMetricCreateAttributes
impl Clone for RumMetricCreateAttributes
Source§fn clone(&self) -> RumMetricCreateAttributes
fn clone(&self) -> RumMetricCreateAttributes
Returns a duplicate of the value. Read more
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source
. Read moreSource§impl Debug for RumMetricCreateAttributes
impl Debug for RumMetricCreateAttributes
Source§impl<'de> Deserialize<'de> for RumMetricCreateAttributes
impl<'de> Deserialize<'de> for RumMetricCreateAttributes
Source§fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>where
D: Deserializer<'de>,
fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>where
D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read more
impl StructuralPartialEq for RumMetricCreateAttributes
Auto Trait Implementations§
impl Freeze for RumMetricCreateAttributes
impl RefUnwindSafe for RumMetricCreateAttributes
impl Send for RumMetricCreateAttributes
impl Sync for RumMetricCreateAttributes
impl Unpin for RumMetricCreateAttributes
impl UnwindSafe for RumMetricCreateAttributes
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more