v2_spans_metrics_UpdateSpansMetric/
v2_spans-metrics_UpdateSpansMetric.rs1use datadog_api_client::datadog;
3use datadog_api_client::datadogV2::api_spans_metrics::SpansMetricsAPI;
4use datadog_api_client::datadogV2::model::SpansMetricFilter;
5use datadog_api_client::datadogV2::model::SpansMetricGroupBy;
6use datadog_api_client::datadogV2::model::SpansMetricType;
7use datadog_api_client::datadogV2::model::SpansMetricUpdateAttributes;
8use datadog_api_client::datadogV2::model::SpansMetricUpdateCompute;
9use datadog_api_client::datadogV2::model::SpansMetricUpdateData;
10use datadog_api_client::datadogV2::model::SpansMetricUpdateRequest;
11
12#[tokio::main]
13async fn main() {
14 let spans_metric_data_id = std::env::var("SPANS_METRIC_DATA_ID").unwrap();
16 let body = SpansMetricUpdateRequest::new(SpansMetricUpdateData::new(
17 SpansMetricUpdateAttributes::new()
18 .compute(SpansMetricUpdateCompute::new().include_percentiles(false))
19 .filter(
20 SpansMetricFilter::new()
21 .query("@http.status_code:200 service:my-service-updated".to_string()),
22 )
23 .group_by(vec![SpansMetricGroupBy::new("resource_name".to_string())
24 .tag_name("resource_name".to_string())]),
25 SpansMetricType::SPANS_METRICS,
26 ));
27 let configuration = datadog::Configuration::new();
28 let api = SpansMetricsAPI::with_config(configuration);
29 let resp = api
30 .update_spans_metric(spans_metric_data_id.clone(), body)
31 .await;
32 if let Ok(value) = resp {
33 println!("{:#?}", value);
34 } else {
35 println!("{:#?}", resp.unwrap_err());
36 }
37}