v2_rum_metrics_CreateRumMetric/
v2_rum-metrics_CreateRumMetric.rs1use datadog_api_client::datadog;
3use datadog_api_client::datadogV2::api_rum_metrics::RumMetricsAPI;
4use datadog_api_client::datadogV2::model::RumMetricCompute;
5use datadog_api_client::datadogV2::model::RumMetricComputeAggregationType;
6use datadog_api_client::datadogV2::model::RumMetricCreateAttributes;
7use datadog_api_client::datadogV2::model::RumMetricCreateData;
8use datadog_api_client::datadogV2::model::RumMetricCreateRequest;
9use datadog_api_client::datadogV2::model::RumMetricEventType;
10use datadog_api_client::datadogV2::model::RumMetricFilter;
11use datadog_api_client::datadogV2::model::RumMetricGroupBy;
12use datadog_api_client::datadogV2::model::RumMetricType;
13use datadog_api_client::datadogV2::model::RumMetricUniqueness;
14use datadog_api_client::datadogV2::model::RumMetricUniquenessWhen;
15
16#[tokio::main]
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}