3个稳定版本
1.2.0 | 2024年7月16日 |
---|---|
1.1.0 | 2024年5月3日 |
1.0.0 | 2024年4月30日 |
#246 in 调试
806 每月下载量
79KB
989 行
cf-rustracing-jaeger
Jaeger客户端库,基于cf-rustracing。
示例
基本用法
use cf_rustracing::sampler::AllSampler;
use cf_rustracing_jaeger::Tracer;
use cf_rustracing_jaeger::reporter::JaegerCompactReporter;
use std::net::Ipv4Addr;
#[tokio::main]
async fn main() {
// Creates a tracer
let (tracer, mut span_rx) = Tracer::new(AllSampler);
{
let span = tracer.span("sample_op").start();
// Do something
} // The dropped span will be sent to `span_rx`
let span = span_rx.recv().await.unwrap();
assert_eq!(span.operation_name(), "sample_op");
// Reports this span to the local jaeger agent
let reporter = JaegerCompactReporter::new(
"sample_service",
(Ipv4Addr::LOCALHOST, 6831).into(),
(Ipv4Addr::LOCALHOST, 0).into(),
)
.await
.unwrap();
reporter.report(&[span]).await.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/
参考
依赖关系
~4–13MB
~141K SLoC