Profiling rust program made easy.
cargo install cargo-profile
# Just use cargo's syntax cargo profile flamegraph bench --lib # If you have a my_bench in benches directory, you can do cargo profile flamegraph bench --bench my_bench
Binaries built by cargo have some random strings as a suffix, and it makes invoking files generated by cargo harder. Here comes
cargo profile bin-path to aid it.
perf record `cargo profile bin-path bench --bench fixture`
cpu time profiling
You can get cpu time usage per function on mac os using the command below.
(For linux, you can use perf directly, although I'll add linux aupport soon.)
cargo profile cpu per-fn bench --bench fixture
Note: It does not support
perf yet. Same as above, I'll implement it if there's a need.
xctrace is a tool to profile applications on
cargo profile trace xctrace bench --lib cargo profile trace xctrace bench --bench my_bench
Licensed under either of
- Apache License, Version 2.0 (LICENSE-APACHE or http://www.apache.org/licenses/LICENSE-2.0)
- MIT license (LICENSE-MIT or http://opensource.org/licenses/MIT)
at your option.
Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in the work by you, as defined in the Apache-2.0 license, shall be dual licensed as above, without any additional terms or conditions.