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 开源协议