pub struct DetachedSpan { /* private fields */ }Available on non-WebAssembly only.
Expand description
A span for async work, which may resume on another thread: it’s Send,
takes its parent from the context current where it starts, and is never
on the thread-local stack (so spans can’t nest under it implicitly —
use DetachedSpan::enter for synchronous work that should). rws uses
it for database queries and the async HTTP client.
Implementations§
Source§impl DetachedSpan
impl DetachedSpan
pub fn set_attribute(&mut self, key: &str, value: impl Into<AttributeValue>)
Sourcepub fn record_error(&mut self, message: &str)
pub fn record_error(&mut self, message: &str)
Mark the span failed with an error.message.
Sourcepub fn enter<T>(&self, work: impl FnOnce() -> T) -> T
pub fn enter<T>(&self, work: impl FnOnce() -> T) -> T
Run work with this span current on this thread (for header
propagation or synchronous children).
pub fn end(self)
Trait Implementations§
Source§impl Drop for DetachedSpan
impl Drop for DetachedSpan
Auto Trait Implementations§
impl Freeze for DetachedSpan
impl RefUnwindSafe for DetachedSpan
impl Send for DetachedSpan
impl Sync for DetachedSpan
impl Unpin for DetachedSpan
impl UnsafeUnpin for DetachedSpan
impl UnwindSafe for DetachedSpan
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
impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
Source§fn in_current_span(self) -> Instrumented<Self> ⓘ
fn in_current_span(self) -> Instrumented<Self> ⓘ
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§impl<T> Pointable for T
impl<T> Pointable for T
impl<T> Read<Exclusive, BecauseExclusive> for Twhere
T: ?Sized,
Source§impl<T> ServiceExt for T
impl<T> ServiceExt for T
Source§fn map_response_body<F>(self, f: F) -> MapResponseBody<Self, F>where
Self: Sized,
fn map_response_body<F>(self, f: F) -> MapResponseBody<Self, F>where
Self: Sized,
Available on crate feature
map-response-body only.Apply a transformation to the response body. Read more
Source§fn trace_for_http(self) -> Trace<Self, SharedClassifier<ServerErrorsAsFailures>>where
Self: Sized,
fn trace_for_http(self) -> Trace<Self, SharedClassifier<ServerErrorsAsFailures>>where
Self: Sized,
Available on crate feature
trace only.High level tracing that classifies responses using HTTP status codes. Read more
Source§fn trace_for_grpc(self) -> Trace<Self, SharedClassifier<GrpcErrorsAsFailures>>where
Self: Sized,
fn trace_for_grpc(self) -> Trace<Self, SharedClassifier<GrpcErrorsAsFailures>>where
Self: Sized,
Available on crate feature
trace only.High level tracing that classifies responses using gRPC headers. Read more