OpenTelemetry integration for Tide
Notes
- It only implements very basic request tracing on the middleware layer. If you need spans for your executed code, you need to add them yourself.
- The majority of the implementation is based on https://github.com/OutThereLabs/actix-web-opentelemetry.
- It does not provide metrics, so it cannot be used for Prometheus metrics. Yet. Maybe I'll add it in the future. Or you want to contribute the extension. ;-)
- You probably do not want to use it in production. 🤷
How to use
# Run jaeger in background
# Run server example with tracing middleware
# Make a request or two ...
# Open browser and view the traces

Code example
Cargo.toml
[]
= { = "1.9", = ["attributes"]}
= { = "0.12", = ["async-std"] }
= { = "0.11", = ["async-std"] }
= "0.6"
= "0.15"
server.rs
use global as otel_global;
use TraceContextPropagator;
use resource;
use OpenTelemetryTracingMiddleware;
const VERSION: &str = env!;
async
Cargo Features:
Safety
This crate uses #![forbid(unsafe_code)] to ensure everything is implemented in
100% Safe Rust.