v2_metrics_SubmitMetrics/
v2_metrics_SubmitMetrics.rs

1// Submit metrics returns "Payload accepted" response
2use datadog_api_client::datadog;
3use datadog_api_client::datadogV2::api_metrics::MetricsAPI;
4use datadog_api_client::datadogV2::api_metrics::SubmitMetricsOptionalParams;
5use datadog_api_client::datadogV2::model::MetricIntakeType;
6use datadog_api_client::datadogV2::model::MetricPayload;
7use datadog_api_client::datadogV2::model::MetricPoint;
8use datadog_api_client::datadogV2::model::MetricResource;
9use datadog_api_client::datadogV2::model::MetricSeries;
10
11#[tokio::main]
12async fn main() {
13    let body = MetricPayload::new(vec![MetricSeries::new(
14        "system.load.1".to_string(),
15        vec![MetricPoint::new().timestamp(1636629071).value(0.7 as f64)],
16    )
17    .resources(vec![MetricResource::new()
18        .name("dummyhost".to_string())
19        .type_("host".to_string())])
20    .type_(MetricIntakeType::UNSPECIFIED)]);
21    let configuration = datadog::Configuration::new();
22    let api = MetricsAPI::with_config(configuration);
23    let resp = api
24        .submit_metrics(body, SubmitMetricsOptionalParams::default())
25        .await;
26    if let Ok(value) = resp {
27        println!("{:#?}", value);
28    } else {
29        println!("{:#?}", resp.unwrap_err());
30    }
31}