Utilities for implementing and composing
tracing is a framework for instrumenting Rust programs to collect
scoped, structured, and async-aware diagnostics. The
represents the functionality necessary to collect this trace data. This
crate contains tools for composing subscribers out of smaller units of
behaviour, and batteries-included implementations of common subscriber
tracing-subscriber is intended for use by both
Subscriber authors and
application authors using
tracing to instrument their applications.
Subscribers are provided for application authors:
fmt- Formats and logs tracing data (requires the
env-filter: Enables the
EnvFiltertype, which implements filtering similar to the
env_loggercrate. Enabled by default.
fmt: Enables the
fmtmodule, which provides a subscriber implementation for printing formatted representations of trace events. Enabled by default.
fmtsupport for ANSI terminal colors. Enabled by default.
registry: enables the
registrymodule. Enabled by default.
fmtsupport for JSON output. In JSON output, the ANSI feature does nothing.
tracing-log: Enables better formatting for events emitted by
logmacros in the
fmtsubscriber. On by default.
chrono: Enables human-readable time formatting in the
fmtsubscriber. Enabled by default.
smallvec: Causes the
EnvFiltertype to use the
smallveccrate (rather than
Vec) as a performance optimization. Enabled by default.
parking_lot: Use the
RwLockimplementation rather than the Rust standard library's implementation.
A composable abstraction for building
Storage for span data shared by multiple
Wrapper for a
Extension traits and other utilities to make working with subscribers more ergonomic.
Tracks the currently executing span on a per-thread basis.
A shared, reusable store for spans.