Pyroscope Profiler 0.5 released

37 points omarous

Version 0.5 is now live!: https://github.com/pyroscope-io/pyroscope-rs

This new release has some new features that might interest developers looking into continuous profiling. Namely, splitting profiles by thread id and thread name; and the ability to profile a specific part of your program inside a thread (it also works for Tokio and Async).

The library doesn't actually do any profiling (The profiler for Rust is pprof-rs: https://github.com/tikv/pprof-rs) but it's goal is to manage data returned by profilers (abstracted behind a Backend) and send this data to a Pyroscope Server (or exported to flamegraph, though this is being implemented in the commandline application).

For a multi-threading example, you can look here: https://github.com/pyroscope-io/pyroscope-rs/blob/main/examples/multi-thread.rs

For what the results of profiling looks like:

https://preview.redd.it/g5vsfw2eacw81.png?width=2543&format=png&auto=webp&s=34d3fea587e1f10f4eb032d755f69a745e1bc165

The library is still in its infancy, and it's goal is to be a general purpose one. Looking forward to feedback from developers interested in profiling capabilities!