- Notifications
You must be signed in to change notification settings - Fork103
Sampling CPU profiler for Ruby
License
rbspy/rbspy
Folders and files
| Name | Name | Last commit message | Last commit date | |
|---|---|---|---|---|
Repository files navigation
Have a running Ruby program that you want to profile without restarting it? Want to profile a Rubycommand line program really easily? You wantrbspy! rbspy can profile any Ruby program just byrunning 1 simple command.
rbspy lets you profile Ruby processes that are already running. You give it a PID, and it startsprofiling. It's a sampling profiler, which means it'slow overhead andsafe to run inproduction.
rbspy lets you record profiling data, save the raw profiling data to disk, and then analyze it ina variety of different ways later on.
rbspy supports Linux*, Mac, Windows, and FreeBSD.
* kernel version 3.2+ required. For Ubuntu, this means Ubuntu 12.04 or newer.Did rbspy help you make your program faster? An awesome way to thank the project is to add asuccess story to this GitHub issuewhere people talk about ways rbspy has helped them! Hearing that rbspy is working for people is goodmotivation :)
On Mac, you can install with Homebrew:brew install rbspy.
On Linux:
- Download recent release of
rbspyfromthe GitHub releases page.- The binaries tagged with
muslare statically linked against musl libc and can be used on most systems. The ones tagged withgnuare dynamically linked against GNU libc, so you will need it to be installed.
- The binaries tagged with
- Unpack it
- Move the
rbspybinary to/usr/local/bin
Or have a look atInstalling rbspy on our documentation.
To use rbspy in your Rust project, add the following to your Cargo.toml:
[dependencies]rbspy ="0.8"
WARNING: The rbspy crate's API is not stable yet. We will followsemantic versioning after rbspy reaches version 1.0.
Pull requests that improve usability, fix bugs, or help rbspy support more operating systems arevery welcome. If you have a question, the best way to ask is tocreate a GitHub issue!
If you're not a very experienced Rust programmer, you're very welcome to contribute. A major reasonrbspy 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 fromcrates.io
cargo buildto buildcargo testto test
The built binary will end up attarget/debug/rbspy
About
Sampling CPU profiler for Ruby
Topics
Resources
License
Code of conduct
Uh oh!
There was an error while loading.Please reload this page.
Stars
Watchers
Forks
Uh oh!
There was an error while loading.Please reload this page.
