pub struct Trace<S, M, MakeSpan = DefaultMakeSpan, OnRequest = DefaultOnRequest, OnResponse = DefaultOnResponse, OnBodyChunk = DefaultOnBodyChunk, OnEos = DefaultOnEos, OnFailure = DefaultOnFailure> { /* private fields */ }
This is supported on crate feature trace only.
Expand description

Middleware that adds high level tracing to a Service.

See the module docs for an example.

Implementations

Create a new Trace using the given MakeClassifier.

Returns a new Layer that wraps services with a TraceLayer middleware.

Gets a reference to the underlying service.

Gets a mutable reference to the underlying service.

Consumes self, returning the underlying service.

Customize what to do when a request is received.

NewOnRequest is expected to implement OnRequest.

Customize what to do when a response has been produced.

NewOnResponse is expected to implement OnResponse.

Customize what to do when a body chunk has been sent.

NewOnBodyChunk is expected to implement OnBodyChunk.

Customize what to do when a streaming response has closed.

NewOnEos is expected to implement OnEos.

Customize what to do when a response has been classified as a failure.

NewOnFailure is expected to implement OnFailure.

Customize how to make Spans that all request handling will be wrapped in.

NewMakeSpan is expected to implement MakeSpan.

Create a new Trace using ServerErrorsAsFailures which supports classifying regular HTTP responses based on the status code.

Create a new Trace using GrpcErrorsAsFailures which supports classifying gRPC responses and streams based on the grpc-status header.

Trait Implementations

Returns a copy of the value. Read more

Performs copy-assignment from source. Read more

Formats the value using the given formatter. Read more

Responses given by the service.

Errors produced by the service.

The future response value.

Returns Poll::Ready(Ok(())) when the service is able to process requests. Read more

Process the request and return the response asynchronously. Read more

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

Immutably borrows from an owned value. Read more

Mutably borrows from an owned value. Read more

Returns the argument unchanged.

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more

Instruments this type with the current Span, returning an Instrumented wrapper. Read more

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

This is supported on crate feature follow-redirect only.

Create a new Policy that returns Action::Follow only if self and other return Action::Follow. Read more

This is supported on crate feature follow-redirect only.

Create a new Policy that returns Action::Follow if either self or other returns Action::Follow. Read more

Yields a mutable reference to the service when it is ready to accept a request.

👎 Deprecated since 0.4.6:

please use the ServiceExt::ready method instead

Yields a mutable reference to the service when it is ready to accept a request.

Yields the service when it is ready to accept a request.

Consume this Service, calling with the providing request once it is ready.

Process all requests from the given Stream, and produce a Stream of their responses. Read more

Executes a new future after this service’s future resolves. This does not alter the behaviour of the poll_ready method. Read more

Maps this service’s response value to a different value. This does not alter the behaviour of the poll_ready method. Read more

Maps this service’s error value to a different value. This does not alter the behaviour of the poll_ready method. Read more

Maps this service’s result type (Result<Self::Response, Self::Error>) to a different value, regardless of whether the future succeeds or fails. Read more

Composes a function in front of the service. Read more

Composes an asynchronous function after this service. Read more

Composes a function that transforms futures produced by the service. Read more

Convert the service into a Service + Send trait object. Read more

Convert the service into a Service + Clone + Send trait object. Read more

The resulting type after obtaining ownership.

Creates owned data from borrowed data, usually by cloning. Read more

🔬 This is a nightly-only experimental API. (toowned_clone_into)

Uses borrowed data to replace owned data, usually by cloning. Read more

The type returned in the event of a conversion error.

Performs the conversion.

The type returned in the event of a conversion error.

Performs the conversion.

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more