v2_metrics_QueryScalarData_3112571352/
v2_metrics_QueryScalarData_3112571352.rs1use datadog_api_client::datadog;
3use datadog_api_client::datadogV2::api_metrics::MetricsAPI;
4use datadog_api_client::datadogV2::model::FormulaLimit;
5use datadog_api_client::datadogV2::model::MetricsAggregator;
6use datadog_api_client::datadogV2::model::MetricsDataSource;
7use datadog_api_client::datadogV2::model::MetricsScalarQuery;
8use datadog_api_client::datadogV2::model::QueryFormula;
9use datadog_api_client::datadogV2::model::QuerySortOrder;
10use datadog_api_client::datadogV2::model::ScalarFormulaQueryRequest;
11use datadog_api_client::datadogV2::model::ScalarFormulaRequest;
12use datadog_api_client::datadogV2::model::ScalarFormulaRequestAttributes;
13use datadog_api_client::datadogV2::model::ScalarFormulaRequestType;
14use datadog_api_client::datadogV2::model::ScalarQuery;
15
16#[tokio::main]
17async fn main() {
18 let body = ScalarFormulaQueryRequest::new(ScalarFormulaRequest::new(
19 ScalarFormulaRequestAttributes::new(
20 1636625471000,
21 vec![ScalarQuery::MetricsScalarQuery(Box::new(
22 MetricsScalarQuery::new(
23 MetricsAggregator::AVG,
24 MetricsDataSource::METRICS,
25 "avg:system.cpu.user{*}".to_string(),
26 )
27 .name("a".to_string()),
28 ))],
29 1636629071000,
30 )
31 .formulas(vec![QueryFormula::new("a".to_string())
32 .limit(FormulaLimit::new().count(10).order(QuerySortOrder::DESC))]),
33 ScalarFormulaRequestType::SCALAR_REQUEST,
34 ));
35 let configuration = datadog::Configuration::new();
36 let api = MetricsAPI::with_config(configuration);
37 let resp = api.query_scalar_data(body).await;
38 if let Ok(value) = resp {
39 println!("{:#?}", value);
40 } else {
41 println!("{:#?}", resp.unwrap_err());
42 }
43}