MENU

Fun & Interesting

Decrusting the tracing crate

Jon Gjengset 61,070 1 year ago
Video Not Working? Fix It Now

In this stream, we peel back the crust on the tracing crate — https://github.com/tokio-rs/tracing/ — and explore its interface, structure, and mechanisms. We talk about spans, events, their attributes and fields, and how to think about them in async code. We also dig into into what subscribers are, how they pick up events, and how you can construct your own subscribers through the layer abstraction. For more details about tracing, see https://docs.rs/tracing/latest/tracing/. 0:00:00 Introduction 0:03:00 Spans and events 0:38:56 Spans across thread boundaries 0:45:30 Spans in async context 1:02:20 Making format subscriber print span enter/exits 1:06:14 Compatibility with log 1:12:39 Event and span targets 1:20:51 The Subscriber trait 1:45:05 tracing-subscriber and the fmt subscriber 1:49:31 Blocking in Subscribers 1:54:50 The Layer abstraction 2:12:00 Dispatch 2:13:45 Per-layer filtering 2:33:34 Changing subscriber during runtime 2:41:59 Getting from the current subscriber to a layer 2:45:16 Do subscribers have layers? 2:47:06 Choosing logging levels 2:49:07 tracing for logging vs debugging 2:49:57 Moving from console logging to TUI logging at runtime 2:52:09 Other tracing-related crates Live version with chat: https://youtube.com/live/2tm2zH-ECVw

Comment