#datadog #metrics-exporter #send #compatible #tokio #tags

metrics-datadog-exporter

A metrics compatible exporter that sends metrics to DataDog

14 releases

0.1.14 Nov 20, 2023
0.1.13 Aug 19, 2022
0.1.11 May 19, 2022
0.1.10 Feb 16, 2022
0.1.2 May 21, 2021

#14 in #datadog

Download history 121/week @ 2024-03-14 77/week @ 2024-03-21 96/week @ 2024-03-28 215/week @ 2024-04-04 122/week @ 2024-04-11 100/week @ 2024-04-18 46/week @ 2024-04-25 78/week @ 2024-05-02 53/week @ 2024-05-09 83/week @ 2024-05-16 24/week @ 2024-05-23 34/week @ 2024-05-30 108/week @ 2024-06-06 118/week @ 2024-06-13 99/week @ 2024-06-20 60/week @ 2024-06-27

393 downloads per month

MIT license

27KB
593 lines

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 exporter = DataDogBuilder::default()
        .tags(vec![
            "tag1".to_string(),
            "val1".to_string()
        ])
        .build()
        .install()
        .unwrap();
    exporter.flush.await()?;
}

Writing to API

#[tokio::main]
async fn main() {
    let exporter = 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();
    exporter.flush.await()?;
}

Writing on a schedule

#[tokio::main]
async fn main() {
    let exporter = 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();
    let (_exporter, _scheduled) = exporter.schedule(Duration::from_secs(10));
}

Dependencies

~10–25MB
~353K SLoC