pub struct TraceLayer<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

Layer that adds high level tracing to a Service.

See the module docs for more details.

Implementations

Create a new TraceLayer using the given MakeClassifier.

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 TraceLayer using ServerErrorsAsFailures which supports classifying regular HTTP responses based on the status code.

Create a new TraceLayer 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

The wrapped service

Wrap the given service with the middleware, returning a new service that has been decorated with the middleware. 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

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