A low-overhead sampling CPU profiler for Ruby that can profile running processes without restarting them.
rbspy is a sampling CPU profiler for Ruby that enables developers to profile running Ruby processes without restarting them. It solves the problem of identifying performance bottlenecks in live applications, including those in production, by providing a low-overhead, safe profiling tool.
Ruby developers and engineers who need to analyze and optimize the performance of Ruby applications, especially in production environments where restarting is not feasible.
Developers choose rbspy because it offers a non-intrusive way to profile Ruby code with minimal performance impact, supports cross-platform usage, and simplifies profiling through an easy-to-use command-line interface.
Sampling CPU profiler for Ruby
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Allows profiling of running Ruby applications by PID without restarting, explicitly designed for production use as stated in the README.
Uses sampling methodology to minimize performance impact, making it safe for production environments according to the documentation.
Works on Linux, macOS, Windows, and FreeBSD, ensuring broad compatibility for diverse development and deployment setups.
Profiles command-line Ruby programs with a single simple command, simplifying initial setup and ad-hoc profiling.
The Rust crate API is not stable yet, with breaking changes possible until version 1.0, posing integration risks for embedded use.
As a sampling profiler, it may miss short-lived functions or infrequent events, offering less detail than instrumented alternatives.
Requires manual binary downloads on Linux and specific kernel versions (3.2+), which can be cumbersome in constrained or legacy environments.