39 个版本 (24 个破坏性版本)
0.24.0 | 2024 年 7 月 29 日 |
---|---|
0.22.0 | 2024 年 6 月 13 日 |
0.19.1 | 2024 年 2 月 26 日 |
0.18.1 | 2023 年 12 月 31 日 |
0.2.1 | 2018 年 2 月 23 日 |
#16 在 性能分析
每月 514 次下载
8.5MB
218K SLoC
rbspy
您有一个正在运行的 Ruby 程序并希望无需重新启动即可对其进行分析吗?想要轻松分析 Ruby 命令行程序?您需要 rbspy
!rbspy 可以通过运行一个简单的命令来分析任何 Ruby 程序。
rbspy
允许您分析已运行的 Ruby 进程。您给它一个 PID,它就开始分析。它是一个采样分析器,这意味着它具有 低开销 且 在生产环境中安全运行。
rbspy
允许您记录分析数据,将原始分析数据保存到磁盘,然后以各种不同的方式进行分析。
仅墙钟分析
有两种主要的代码分析方式 —— 您可以分析应用程序所做的所有操作(包括等待),或者只分析应用程序使用 CPU 的时间。
rbspy 分析程序所做的所有操作(包括等待) —— 没有只分析程序使用 CPU 的选项。
文档
要求
rbspy 支持 Linux*、Mac、Windows 和 FreeBSD。
* 需要 3.2+ 内核版本。对于 Ubuntu,这意味着 Ubuntu 12.04 或更高版本。添加推荐信
如果 rbspy 帮助您使程序更快,最好的感谢项目的方式是将一个 成功故事添加到这个 GitHub 问题,人们会谈论 rbspy 如何帮助他们!听到 rbspy 对人们有帮助是很好的动力 :)
安装
独立二进制文件
在 Mac 上,您可以使用 Homebrew 安装: brew install rbspy
。
在 Linux 上
- 从 GitHub 发布页面 下载
rbspy
的最新版本。- 带有标签
musl
的二进制文件使用 musl libc 静态链接,可在大多数系统上使用。带有标签gnu
的二进制文件使用 GNU libc 动态链接,因此您需要安装它。
- 带有标签
- 解压缩它
- 将
rbspy
二进制文件移动到/usr/local/bin
或查看我们的文档中的 安装 rbspy。
作为一个 Rust 库
要在您的 Rust 项目中使用 rbspy,请在您的 Cargo.toml 中添加以下内容
[dependencies]
rbspy = "0.8"
警告:rbspy crate 的 API 尚不稳定。在 rbspy 达到 1.0 版本后,我们将遵循 语义版本控制。
贡献
欢迎提交改进可用性、修复错误或帮助 rbspy 支持更多操作系统的拉取请求。如果您有问题,最佳方法是 在 GitHub 上创建一个 issue!
如果您不是非常有经验的 Rust 程序员,您也欢迎贡献。rbspy 使用 Rust 编写的一个主要原因是 Rust 比 C/C++ 更容易入门。https://www.rust-lang.net.cn/ 拥有学习 Rust 的丰富资源。
构建 rbspy
- 从 crates.io 安装 cargo
cargo build
构建cargo test
测试
构建的二进制文件将位于 target/debug/rbspy
依赖关系
~13–25MB
~391K SLoC