2 个版本
0.1.1 | 2022年3月17日 |
---|---|
0.1.0 | 2022年3月17日 |
#307 in 性能分析
22KB
472 代码行
性能工具
Rust 库,用于 Linux perf。
当前功能是将 Linux perf 分析器生成的 perf.data 文件(CPU 分析)转换为 Google pprof 工具的数据。
我尝试了 Google 的 perf_data_converter,但似乎它不支持 dwarf 栈。所以我尝试从头开始用 Rust 而不是玩 C++ 代码。
安装
cargo install perf-tools
使用方法
如果您已经有一个 perf.data 文件,只需运行 perf2pprof
命令
$ ls
Cargo.lock Cargo.toml cpu.pprof perf.data src target
$ perf2pprof
cargo perf
命令(如果您还没有运行 perf 命令,将执行上述图片所示的全部操作)。
准备工作
首先,最好有 GNU C 库的调试符号(Ubuntu 中的 libc6-dbg
软件包)。
其次,可能需要以下配置
$ sudo sysctl -w kernel.kptr_restrict=0
$ echo -1 | sudo tee /proc/sys/kernel/perf_event_paranoid
最后,将以下内容放入您的 Cargo.toml
文件
[profile.release]
debug = true
注意事项
只转换了最少的信息。这在我的待办事项列表上。当然,欢迎拉取请求。
依赖项
~10–21MB
~279K SLoC