2 个版本
0.0.2 | 2023年6月23日 |
---|---|
0.0.1 | 2022年10月7日 |
#28 in #datadog
13KB
160 代码行数(不含注释)
dd-trace-layer
dd-trace-layer
是一个用于发送 Datadog 追踪信息的中间件。它基于 Tower 和 OpenTelemetry Rust。
使用方法
use dd_trace_layer::{init, ApiVersion, DDTraceLayer};
use hyper::{server::Server, Body, Error, Request, Response};
use std::net::SocketAddr;
use tower::{make::Shared, ServiceBuilder};
#[tokio::main]
async fn main() {
init("service_name", "https://127.0.0.1:8126", ApiVersion::Version05);
let service = ServiceBuilder::new()
.layer(DDTraceLayer::new("operation_name".to_string()))
.service_fn(hello_world);
let addr = SocketAddr::from(([127, 0, 0, 1], 8080));
Server::bind(&addr)
.serve(Shared::new(service))
.await
.expect("server error");
}
async fn hello_world(_: Request<Body>) -> Result<Response<Body>, Error> {
Ok(Response::new(Body::from("Hello, World!")))
}
贡献
- 分支
- 创建功能分支
- 提交您的更改
- 将本地更改合并到主分支
- 使用
cargo test
命令运行测试套件,并确认通过 - 运行
cargo fmt
和cargo clippy
- 创建新的 Pull Request
依赖
~9–25MB
~340K SLoC