Have a running Ruby program that you want to profile without restarting it? Want to profile a Ruby
command line program really easily? You want
rbspy! rbspy can profile any Ruby program just by
running 1 simple command.
rbspy lets you profile Ruby processes that are already running. You give it a PID, and it starts
profiling. It's a sampling profiler, which means it's low overhead and safe to run in
rbspy lets you record profiling data, save the raw profiling data to disk, and then analyze it in
a variety of different ways later on.
rbspy supports Linux*, Mac, and Windows.* kernel version 3.2+ required. For Ubuntu, this means Ubuntu 12.04 or newer.
Add a testimonial
Did rbspy help you make your program faster? An awesome way to thank the project is to add a success story to this GitHub issue where people talk about ways rbspy has helped them! Hearing that rbspy is working for people is good motivation :)
On Mac, you can install with Homebrew:
brew install rbspy.
- Download recent release of
rbspyfrom the GitHub releases page
- Unpack it
- Move the
Or have a look at Installing rbspy on our documentation.
Pull requests that improve usability, fix bugs, or help rbspy support more operating systems are very welcome. If you have a question, the best way to ask is to create a GitHub issue!
If you're not a very experienced Rust programmer, you're very welcome to contribute. A major reason rbspy is written in Rust is that Rust is more approachable for beginners than C/C++. https://www.rust-lang.org/ has great resources for learning Rust.
- Install cargo from crates.io
cargo buildto build
cargo testto test
The built binary will end up at