7 个版本
0.1.5 | 2024 年 8 月 2 日 |
---|---|
0.1.4 | 2024 年 8 月 2 日 |
0.1.2 | 2024 年 7 月 31 日 |
0.0.2 | 2024 年 7 月 29 日 |
142 在 科学 分类中
每月下载 586 次
27KB
462 代码行
Spannify
一个生成美观图表来可视化你的调用栈的小型Rust crate。
示例
use once_cell::sync::Lazy;
use spannify::{config::Config, core::StdoutSpanner, spf};
static SPANNER: Lazy<StdoutSpanner> =
Lazy::new(|| StdoutSpanner::new().with_config(Config::new().with_skip(1)));
fn fib(n: usize) -> usize {
let _span = spf!(SPANNER, "fib({n})");
match n {
0 => 0,
1 | 2 => 1,
_ => fib(n - 1) + fib(n - 2),
}
}
fn main() {
fib(5);
}
输出
┌fib(5)
| ┌fib(4)
| ¦ ┌fib(3)
| ¦ ┆ ┌fib(2)
| ¦ ┆ └fib(2)
| ¦ ┆ ┌fib(1)
| ¦ ┆ └fib(1)
| ¦ └fib(3)
| ¦ ┌fib(2)
| ¦ └fib(2)
| └fib(4)
| ┌fib(3)
| ¦ ┌fib(2)
| ¦ └fib(2)
| ¦ ┌fib(1)
| ¦ └fib(1)
| └fib(3)
└fib(5)
文档
请访问 docs.rs 查看完整文档,或者查看 examples
中的示例。