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

rustracing_jaeger

基于 rustracing 的 Jaeger 客户端库

28 个版本

0.10.0 2024年6月15日
0.9.0 2023年2月7日
0.8.1 2022年4月6日
0.7.0 2021年11月25日
0.1.3 2017年10月30日

#21 in 性能分析

Download history 9003/week @ 2024-04-15 10718/week @ 2024-04-22 11608/week @ 2024-04-29 9888/week @ 2024-05-06 10727/week @ 2024-05-13 12460/week @ 2024-05-20 10080/week @ 2024-05-27 11244/week @ 2024-06-03 10249/week @ 2024-06-10 11564/week @ 2024-06-17 13632/week @ 2024-06-24 11199/week @ 2024-07-01 12515/week @ 2024-07-08 13153/week @ 2024-07-15 13645/week @ 2024-07-22 16279/week @ 2024-07-29

56,271 每月下载量
用于 35 个 crates (8 直接)

MIT 许可证

81KB
957 行代码

rustracing_jaeger

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

Jaeger 客户端库,基于 rustracing 构建。

文档

示例

基本使用

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();

执行 report.rs 示例

# 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 https://127.0.0.1:16686/

Jaeger UI

参考

依赖

~2–28MB
~408K SLoC