Application-level tracing for Rust.
tracing is a framework for instrumenting Rust programs to collect
structured, event-based diagnostic information.
tracing is maintained by the
Tokio project, but does not require the
tokio runtime to be used.
First, see if the answer to your question can be found in the API documentation. If the answer is not there, there is an active community in the Tracing Gitter channel. We would be happy to try to answer your question. Last, if that doesn't work, try opening an issue with the question.
tracing crate contains the primary instrumentation API, used for
instrumenting libraries and applications to emit trace data. The
crate contains the core API primitives on which the rest of
instrumented. Authors of trace subscribers may depend on
guarantees a higher level of stability.
Additionally, this repository contains several compatibility and utility
libraries built on top of
tracing. Some of these crates are in a pre-release
state, and are less stable than the
The crates included as part of Tracing are:
tracing-macros: Experimental macros for emitting trace events (unstable).
tracing-log: Compatibility with the
tracing-env-logger: A subscriber that logs trace events using the
tracing-serde: A compatibility layer for serializing trace data with
tracing-tower: Compatibility with the
towercompatibility for HTTP services (unstable).
This project is licensed under the MIT license.
Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in Tracing by you, shall be licensed as MIT, without any additional terms or conditions.