2 个不稳定版本
0.19.1 | 2024 年 4 月 4 日 |
---|---|
0.17.0 | 2023 年 7 月 7 日 |
#92 in 性能分析
89 每月下载量
8.5MB
217K SLoC
rbspy
您有一个正在运行的 Ruby 程序想要分析,但又不想重新启动它?想要轻松分析 Ruby 命令行程序?您需要 rbspy
!rbspy 只需运行一个简单的命令即可分析任何 Ruby 程序。
rbspy
允许您分析已运行的 Ruby 进程。您提供进程 ID,它就会开始分析。它是一个采样分析器,这意味着它具有 低开销 且 在生产环境中运行安全。
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 上创建一个问题!
即使你不是经验丰富的 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
~389K SLoC