Perf-tools
Rust library for Linux perf.
The current feature is converting a perf.data file (CPU profiling) generated by the perf Linux profiler, into data for Google pprof tool.
I tried Google's perf_data_converter but seems that it doesn't support dwarf stacks. So I tried to start from scratch in Rust rather than playing with the C++ code.

Installation
Usage
If you already have a perf.data file, just run perf2pprof command:
cargo perf command does everything as the above picture shows if you haven't run perf command yet.
Preparation
Firstly, better to have debugging symbols for the GNU C library (libc6-dbg package in Ubuntu).
Secondly, the following configuration might be necessary:
|
Lastly, put the following in your Cargo.toml file:
[profile.release]
debug = true
Caveat
Only a minimum of information are converted. It's on my to-do list. Of course, pull requests are very welcome.