#perf #pprof

bin+lib perf-tools

Linux perf 的库和工具

2 个版本

0.1.1 2022年3月17日
0.1.0 2022年3月17日

#307 in 性能分析

Apache-2.0

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