metrics-datadog-exporter 0.1.2

A metrics-compatible exporter that sends metrics to DataDog
Documentation

metrics-datadog-exporter

Crates.io docs.rs GitHub Workflow Status

Metrics reporter for https://github.com/metrics-rs/metrics that writes to DataDog.

Usage

Writing to stdout

#[tokio::main]
async fn main() {
    let reporter = DataDogBuilder::default()
        .tags(vec![
            "tag1".to_string(),
            "val1".to_string()
        ])
        .build()
        .install()
        .unwrap();
    reporter.flush.await()?;
}

Writing to API

#[tokio::main]
async fn main() {
    let reporter = DataDogBuilder::default()
        .write_to_stdout(false)
        .write_to_api(true, Some("DD_API_KEY".to_string()))
        .tags(vec![
            "tag1".to_string(),
            "val1".to_string()
        ])
        .build()
        .install()
        .unwrap();
    reporter.flush.await()?;
}

Writing on as schedule

use once_cell::sync::Lazy;

static DD_METRICS: Lazy<DataDogHandle> = Lazy::new(|| {
    DataDogBuilder::default()
        .tags(vec![
            "tag1".to_string(),
            "val1".to_string()
        ])
        .build()
        .install()
        .unwrap();
});

#[tokio::main]
async fn main() {
    let reporter = DD_METRICS.deref();
    reporter.schedule(Duration::from_secs(10));
}