Hasty Briefsbeta

Show HN: Await-Tree – Visualize Async Rust Task Execution in Real-Time

2 days ago
  • #rust
  • #debugging
  • #async
  • Async Rust Futures can be composed or nested for various control flows.
  • The execution of async tasks can be visualized as a logical tree that changes over time.
  • `await-tree` allows runtime dumping of the execution tree with annotated spans.
  • Supports dynamic span customization with runtime `String` for better debugging.
  • Handles complex async control flows and arbitrary `Future` topologies.
  • Uses an arena-based data structure with zero extra `unsafe` code.
  • Optional features include `serde` for serialization and `tokio` for runtime integration.
  • Compared to `async-backtrace`, `await-tree` offers more flexibility and safety.
  • Used in production by RisingWave, a distributed streaming database.
  • Licensed under Apache License 2.0.