You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
actix-web uses tokio as the underlying executor, so exporters should be
configured to be non-blocking:
[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
Execute client and server example
# 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 https://localhost:16686/
Features
awc -- enable support for tracing the awc http client.
metrics -- enable support for opentelemetry metrics (only traces are enabled by default)
metrics-prometheus -- enable support for prometheus metrics (requires metrics feature)
sync-middleware -- enable tracing on actix-web middlewares that do synchronous work before returning a future. Adds a small amount of overhead to every request.