#logging #tracing


Core primitives for application-level tracing

4 releases

✓ Uses Rust 2018 edition

0.1.2 Jul 10, 2019
0.1.1 Jul 6, 2019
0.1.0 Jun 27, 2019
0.0.0 Jun 20, 2019

#34 in Debugging

Download history 17/week @ 2019-06-19 530/week @ 2019-06-26 2144/week @ 2019-07-03

1,039 downloads per month
Used in 3 crates

MIT license

1.5K SLoC


Core primitives for application-level tracing.

Crates.io Documentation MIT licensed Build Status Gitter chat

Documentation | Chat


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

The 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 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.


This project is licensed under the MIT license.


Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in Tokio by you, shall be licensed as MIT, without any additional terms or conditions.