minitrace-jaeger

Documentation Crates.io LICENSE

Builtin Jaeger reporter for minitrace.

Dependencies

toml [dependencies] minitrace = "0.3" minitrace-jaeger = "0.3"

Setup Jaeger Agent

sh docker run --rm -d -p6831:6831/udp -p16686:16686 --name jaeger jaegertracing/all-in-one:latest

Report to Jaeger 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 TRACEID: u64 = 42; const SPANIDPREFIX: u32 = 42; const ROOTPARENTSPANID: u64 = 0; let bytes = minitracejaeger::encode( String::from("service name"), TRACEID, ROOTPARENTSPANID, SPANID_PREFIX, &spans, ) .expect("encode error");

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