Expand description
Futures compatibility for tracing
.
§Overview
tracing
is a framework for instrumenting Rust programs to collect
structured, event-based diagnostic information. This crate provides utilities
for using tracing
to instrument asynchronous code written using futures and
async/await.
The crate provides the following traits:
-
Instrument
allows atracing
span to be attached to a future, sink, stream, or executor. -
WithCollector
allows atracing
collector to be attached to a future, sink, stream, or executor.
Compiler support: requires rustc
1.63+
§Feature flags
This crate provides a number of feature flags that enable compatibility features with other crates in the asynchronous ecosystem:
-
tokio
: Enables compatibility with thetokio
0.1 crate, includingInstrument
andWithCollector
implementations fortokio::executor::Executor
,tokio::runtime::Runtime
, andtokio::runtime::current_thread
. This is not needed for compatibility withtokio
v1. -
tokio-executor
: Enables compatibility with thetokio-executor
crate, includingInstrument
andWithCollector
implementations for types implementingtokio_executor::Executor
. This is intended primarily for use in crates which depend ontokio-executor
rather thantokio
; in general thetokio
feature should be used instead. -
std-future
: Enables compatibility withstd::future::Future
. -
futures-01
: Enables compatibility with version 0.1.x of thefutures
crate. -
futures-03
: Enables compatibility with version 0.3.x of thefutures
crate’sSpawn
andLocalSpawn
traits. -
std
: Depend on the Rust standard library.no_std
users may disable this feature withdefault-features = false
:[dependencies] tracing-futures = { version = "0.2.3", default-features = false }
The std-future
and std
features are enabled by default.
§Supported Rust Versions
Tracing is built against the latest stable release. The minimum supported version is 1.63. The current Tracing version is not guaranteed to build on Rust versions earlier than the minimum supported version.
Tracing follows the same compiler support policies as the rest of the Tokio project. The current stable Rust compiler and the three most recent minor versions before it will always be supported. For example, if the current stable compiler version is 1.69, the minimum supported version will not be increased past 1.66, three minor versions prior. Increasing the minimum supported compiler version is not considered a semver breaking change as long as doing so complies with this policy.
Modules§
- Implementations for
Instrument
ed future executors.
Structs§
- A future, stream, sink, or executor that has been instrumented with a
tracing
span. - With
Dispatch std
A future, stream, sink, or executor that has been instrumented with atracing
subscriber.