28 releases
0.10.0 | Jun 15, 2024 |
---|---|
0.9.0 | Feb 7, 2023 |
0.8.1 | Apr 6, 2022 |
0.7.0 | Nov 25, 2021 |
0.1.3 | Oct 30, 2017 |
#21 in Profiling
87,323 downloads per month
Used in 40 crates
(7 directly)
81KB
957 lines
rustracing_jaeger
Jaeger client library created on top of rustracing.
Examples
Basic Usage
use rustracing::sampler::AllSampler;
use rustracing_jaeger::Tracer;
use rustracing_jaeger::reporter::JaegerCompactReporter;
// Creates a tracer
let (span_tx, span_rx) = crossbeam_channel::bounded(10);
let tracer = Tracer::with_sender(AllSampler, span_tx);
{
let span = tracer.span("sample_op").start();
// Do something
} // The dropped span will be sent to `span_rx`
let span = span_rx.try_recv().unwrap();
assert_eq!(span.operation_name(), "sample_op");
// Reports this span to the local jaeger agent
let reporter = JaegerCompactReporter::new("sample_service").unwrap();
reporter.report(&[span]).unwrap();
Executes report.rs
example
# Run jaeger in background
$ docker run -d -p6831:6831/udp -p6832:6832/udp -p16686:16686 jaegertracing/all-in-one:latest
# Report example spans
$ cargo run --example report
# View spans (see the image below)
$ firefox http://localhost:16686/
References
Dependencies
~2–27MB
~408K SLoC