Our great sponsors
-
flamegraph
Easy flamegraphs for Rust projects and everything else, without Perl or pipes <3 (by flamegraph-rs)
-
InfluxDB
Power Real-Time Data Analytics at Scale. Get real-time insights from all types of time series data with InfluxDB. Ingest, query, and analyze billions of data points in real-time with unbounded cardinality.
-
WorkOS
The modern identity platform for B2B SaaS. The APIs are flexible and easy-to-use, supporting authentication, user identity, and complex enterprise features like SSO and SCIM provisioning.
For memory you can also try Bytehound, which is a memory profiler I wrote a while back. It's not technically Rust-specific, although it is written in Rust and has Rust-specific features like automatic Rust symbol demangling.
No clue what pprof is, but perhaps cargo-flamegraph will be of use to you?
pprof is https://github.com/google/pprof, it's a very useful tool in golang , and really really really convenient
Not rust specific but I've used https://github.com/KDE/heaptrack with great success for memory profiling 👌
Personally, I always prefer manual instrumentation using tracing and exporting to TimescaleDB, since I can get insights of the production code at real-time and optimize it for the real-case, but I also get trace data for development code that helps finding slow and hot spots during development, with the additional metadata that I consider relevant.
Have you looked into using pprof?
On Linux I use perf combined with Firefox Profiler for GUI. The guide to using that combination is here. You might want to add this to your Cargo.toml to see more details:
I have not personally used it, but have you seen Embark Studio’s Puffin? https://github.com/EmbarkStudios/puffin
1 for cargo criterion, + iai for the same author and I took memory profiler out of rust-analyser, but it has a dependency on jemalloc. Originally I was looking for a visual memory analyzer, but my current thinking that smaller, self-contained tools which can be run in CI like iai are more practical.
We're building a better way of converting the perf profiles than perf script. https://github.com/mstange/fxprof-perf-convert