Hasty Briefsbeta

双语

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

a year ago
  • #rust
  • #debugging
  • #async
  • Async Rust 的 Futures 可以通过组合或嵌套实现多种控制流
  • 异步任务的执行可被可视化为随时间变化的逻辑树形结构
  • `await-tree` 支持运行时转储带有标注 spans 的执行树
  • 支持运行时动态定制 `String` 类型的 spans 以便调试
  • 能处理复杂的异步控制流和任意 `Future` 拓扑结构
  • 采用基于内存池的数据结构且无需额外 `unsafe` 代码
  • 可选功能包括支持 `serde` 序列化和 `tokio` 运行时集成
  • 相比 `async-backtrace`,`await-tree` 提供更灵活的调试能力和更高的安全性
  • 已被分布式流式数据库 RisingWave 应用于生产环境
  • 采用 Apache License 2.0 开源协议