minitrace-datadog

Documentation Crates.io LICENSE

Builtin Datadog reporter for minitrace.

Dependencies

toml [dependencies] minitrace = "0.4" minitrace-datadog = "0.4"

Setup Datadog Agent

Please follow the Datadog official documentation.

Report to Datadog Agent

```rust use std::net::SocketAddr;

use futures::executor::block_on; use minitrace::prelude::*;

// start trace let (root_span, collector) = Span::root("root");

// finish trace drop(root_span);

// collect spans let spans = block_on(collector.collect());

// encode trace const ERRORCODE: i32 = 0; const TRACEID: u64 = 42; const SPANIDPREFIX: u32 = 42; const ROOTPARENTSPANID: u64 = 0; let bytes = minitracedatadog::encode( "servicename", "tracetype", "resource", ERRORCODE, TRACEID, ROOTPARENTSPANID, SPANID_PREFIX, &spans, ) .expect("encode error");

// report trace let socket = SocketAddr::new("127.0.0.1".parse().unwrap(), 8126); minitracedatadog::reportblocking(socket, bytes).expect("report error"); ```