28个版本 (17个破坏性版本)

0.18.0 2024年5月30日
0.17.0 2024年3月11日
0.16.0 2023年11月7日
0.14.0 2023年7月29日
0.1.1 2019年11月26日

#49 in HTTP客户端

Download history 6340/week @ 2024-04-27 5750/week @ 2024-05-04 7457/week @ 2024-05-11 6791/week @ 2024-05-18 6869/week @ 2024-05-25 6930/week @ 2024-06-01 7451/week @ 2024-06-08 6943/week @ 2024-06-15 7844/week @ 2024-06-22 7484/week @ 2024-06-29 7744/week @ 2024-07-06 6595/week @ 2024-07-13 7500/week @ 2024-07-20 6220/week @ 2024-07-27 5783/week @ 2024-08-03 4491/week @ 2024-08-10

每月下载量 25,150
用于 18 个Crate(5个直接使用)

MIT 许可证

175KB
789

Actix Web OpenTelemetry

Build Status Crates.io: actix-web-opentelemetry Documentation License: MIT

OpenTelemetryActix Web 的集成。

导出器配置

actix-web 使用 tokio 作为底层执行器,因此导出器应配置为非阻塞

[dependencies]
# if exporting to jaeger, use the `tokio` feature.
opentelemetry-jaeger = { version = "..", features = ["rt-tokio-current-thread"] }

# if exporting to zipkin, use the `tokio` based `reqwest-client` feature.
opentelemetry-zipkin = { version = "..", features = ["reqwest-client"], default-features = false }

# ... ensure the same same for any other exporters

执行客户端和服务器示例

# Run jaeger in background
$ docker run -d -p6831:6831/udp -p6832:6832/udp -p16686:16686 jaegertracing/all-in-one:latest

# Run server example with tracing middleware
$ cargo run --example server
# (In other tab) Run client example with request tracing
$ cargo run --example client --features awc

# View spans (see the image below)
$ firefox http://localhost:16686/

Jaeger UI

特性

  • awc -- 启用对 awc http客户端的跟踪支持。
  • metrics -- 启用对 OpenTelemetry度量(默认情况下仅启用跟踪)的支持
  • metrics-prometheus -- 启用对 Prometheus度量的支持(需要 metrics 特性)
  • sync-middleware -- 在返回future之前执行同步工作的 actix-web 中间件上启用跟踪。为每个请求添加少量开销。

依赖项

~18–30MB
~524K SLoC