[][src]Crate tokio_trace_core

Core primitives for tokio-trace.

tokio-trace is a framework for instrumenting Rust programs to collect structured, event-based diagnostic information. This crate defines the core primitives of tokio-trace.

This crate provides:

  • Span 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.

  • Field, FieldSet, Value, and ValueSet represent the structured data attached to a Span.

  • Dispatch allows span events to be dispatched to Subscribers.

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 tokio-trace 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.

The tokio-trace-nursery repository contains less stable crates designed to be used with the tokio-trace ecosystem. It includes a collection of Subscriber implementations, as well as utility and adapter crates.


pub use self::callsite::Callsite;
pub use self::dispatcher::Dispatch;
pub use self::event::Event;
pub use self::field::Field;
pub use self::metadata::Kind;
pub use self::metadata::Level;
pub use self::metadata::Metadata;
pub use self::subscriber::Interest;
pub use self::subscriber::Subscriber;



Callsites represent the source locations from which spans or events originate.


Dispatches trace events to Subscribers.c


Events represent single points in time during the execution of a program.


Span and Event key-value data.


Metadata describing trace data.


Spans represent periods of time in the execution of a program.


Subscribers collect and record trace data.



Statically constructs an Identifier for the provided Callsite.


Statically constructs new span metadata.