#jaeger #spans #opentracing #client #tracing #created #top

rustracing_jaeger

Jaeger client library created on top of rustracing

27 releases

0.9.0 Feb 7, 2023
0.8.1 Apr 6, 2022
0.7.0 Nov 25, 2021
0.6.1 Feb 11, 2021
0.1.3 Oct 30, 2017

#83 in Profiling

Download history 3627/week @ 2023-11-26 2802/week @ 2023-12-03 4036/week @ 2023-12-10 3893/week @ 2023-12-17 1470/week @ 2023-12-24 3131/week @ 2023-12-31 6004/week @ 2024-01-07 4860/week @ 2024-01-14 6045/week @ 2024-01-21 6604/week @ 2024-01-28 6298/week @ 2024-02-04 7836/week @ 2024-02-11 5868/week @ 2024-02-18 7597/week @ 2024-02-25 9327/week @ 2024-03-03 3442/week @ 2024-03-10

27,088 downloads per month
Used in 24 crates (8 directly)

MIT license

79KB
957 lines

rustracing_jaeger

Crates.io: rustracing_jaeger Documentation Actions Status Coverage Status License: MIT

Jaeger client library created on top of rustracing.

Documentation

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/

Jaeger UI

References

Dependencies

~2–12MB
~107K SLoC