11 个不稳定版本 (5 个破坏性更新)
0.19.0 | 2024年6月30日 |
---|---|
0.18.1 | 2024年3月9日 |
0.15.0 | 2023年11月25日 |
0.12.0 | 2023年7月2日 |
在 调试 中排名第 759
每月下载量 7,428
39KB
650 行
tonic-tracing-opentelemetry
用于客户端和服务器集成 tonic + tracing + opentelemetry 的中间件和工具。
非常早期,缺少许多功能,欢迎提供帮助。
- 从传入请求中读取OpenTelemetry头信息
- 如果传入请求中没有找到跟踪,则启动一个新的跟踪
- 跟踪附加到追踪的span
例如,您可以查看 示例 文件夹。
client.rs
的摘录
let channel = Channel::from_static("http://127.0.0.1:50051")
.connect()
.await?; //Devskim: ignore DS137138
let channel = ServiceBuilder::new()
.layer(OtelGrpcLayer::default())
.service(channel);
let mut client = GreeterClient::new(channel);
//...
opentelemetry::global::shutdown_tracer_provider();
server.rs
的摘录
Server::builder()
// create trace for every request including health_service
.layer(server::OtelGrpcLayer::default().filter(filters::reject_healthcheck))
.add_service(health_service)
.add_service(reflection_service)
//.add_service(GreeterServer::new(greeter))
.add_service(GreeterServer::new(greeter))
.serve_with_shutdown(addr, shutdown_signal())
.await?;
待办事项
- 添加测试
- 添加文档
- 添加示例
- 与 [opentelemetry-specification/rpc.md at main · open-telemetry/opentelemetry-specification · GitHub] 进行验证
变更日志 - 历史
依赖关系
~12MB
~201K SLoC