Overview
Explore a comprehensive conference talk from RustConf 2019 that delves into tokio-trace, a set of Rust libraries providing primitives for recording scoped, structured, and async-aware diagnostics. Learn about the motivation behind tokio-trace, its core concepts, and how it addresses challenges in logging for asynchronous applications. Discover the differences between traditional logging and tokio-trace's structured diagnostics, which model contextual and causal relationships between events. Gain insights into the library's design, its core primitives of spans and events, and how it can be applied in various Rust codebases. Follow along with a live demonstration and understand how tracing actually works, including its compatibility with existing logging systems and its efficient performance with disabled instrumentation. Explore the potential for bootstrapping an ecosystem around tokio-trace and its applications in improving diagnostics for async systems.
Syllabus
Intro
TRACING TOKIO-TRACE scoped, structured, async-aware diagnostics
WHY I MADE ANOTHER | LOGGING LIBRARY
HOW MANY OF YOU ARE USING FUTURES?
AND DOES YOUR LOGGING MAKE ANY SENSE?
HOW DO WE GET USABLE DIAGNOSTICS FROM ASYNC SYSTEMS?
CONTEXT
TIME FOR A QUICK DEMO
HOW TRACING ACTUALLY WORKS
SO WHAT DID I MEAN BY IN-PROCESS TRACING?
CORE PRIMITIVES SPANS AND EVENTS
AN EXAMPLE
WORKS WITH LOG
DISABLED INSTRUMENTATION IS (NEARLY) FREE
BOOTSTRAPPING AN ECOSYSTEM
Taught by
Rust