Core primitives for tracing
.
tracing
is a framework for instrumenting Rust programs to collect
structured, event-based diagnostic information. This crate defines the core
primitives of tracing
.
This crate provides:
-
span::Id
identifies a span within the execution of a program.
-
Event
represents a single event within a trace.
-
Subscriber
, the trait implemented to collect trace data.
-
Metadata
and Callsite
provide information describing spans and
Event
s.
-
Field
, FieldSet
, Value
, and ValueSet
represent the
structured data attached to a span.
-
Dispatch
allows spans and events to be dispatched to Subscriber
s.
In addition, it defines the global callsite registry and per-thread current
dispatcher which other components of the tracing system rely on.
Application authors will typically not use this crate directly. Instead,
they will use the tracing
crate, which provides a much more
fully-featured API. However, this crate's API will change very infrequently,
so it may be used when dependencies must be very stable.
Subscriber
implementations may depend on tracing-core
rather than
tracing
, as the additional APIs provided by tracing
are primarily useful
for instrumenting libraries and applications, and are generally not
necessary for Subscriber
implementations.
The tokio-rs/tracing
repository contains less stable crates designed to
be used with the tracing
ecosystem. It includes a collection of
Subscriber
implementations, as well as utility and adapter crates.
The following crate feature flags are available:
-
std
: Depend on the Rust standard library (enabled by default).
no_std
users may disable this feature with default-features = false
:
[dependencies]
tracing-core = { version = "0.1.10", default-features = false }
Compiler support: requires rustc 1.39+
Note:tracing-core
's no_std
support requires liballoc
.
pub use self::metadata::Kind; |
pub use self::subscriber::Interest; |
callsite | Callsites represent the source locations from which spans or events
originate.
|
dispatcher | Dispatches trace events to Subscriber s.
|
event | Events represent single points in time during the execution of a program.
|
field | Span and Event key-value data.
|
metadata | Metadata describing trace data.
|
span | Spans represent periods of time in the execution of a program.
|
subscriber | Subscribers collect and record trace data.
|
Dispatch | Dispatch trace data to a Subscriber .
|
Event | Event s represent single points in time where something occurred during the
execution of a program.
|
Field | An opaque key allowing O(1) access to a field in a Span 's key-value
data.
|
Level | Describes the level of verbosity of a span or event.
|
Metadata | Metadata describing a span or event.
|
Callsite | Trait implemented by callsites.
|
Subscriber | Trait representing the functions required to collect trace data.
|