pub struct OtelLayer;Expand description
Middleware that creates an HTTP server span for each request.
- Reads W3C
traceparentfrom the request to continue an existing trace. - Creates a new trace when no
traceparentis present. - Stores the active span in thread-local storage so downstream middleware
(e.g.
crate::proxy::ReverseProxy) can propagate it. - Records the span on the way out with
http.method,http.target, andhttp.status_codeattributes.
Requires setup or setup_from_env to be called at startup. Without
initialisation the layer is a no-op passthrough.
Trait Implementations§
Source§impl Middleware for OtelLayer
impl Middleware for OtelLayer
fn handle( &self, request: &Request, connection: &ConnectionInfo, next: &dyn Application, ) -> Result<Response, String>
Auto Trait Implementations§
impl Freeze for OtelLayer
impl RefUnwindSafe for OtelLayer
impl Send for OtelLayer
impl Sync for OtelLayer
impl Unpin for OtelLayer
impl UnsafeUnpin for OtelLayer
impl UnwindSafe for OtelLayer
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more