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性能分析

Download history 129/week @ 2024-04-22 40/week @ 2024-04-29 10/week @ 2024-05-06 22/week @ 2024-05-13 24/week @ 2024-05-20 142/week @ 2024-05-27 21/week @ 2024-06-03 200/week @ 2024-06-10 14/week @ 2024-06-17 22/week @ 2024-07-01 138/week @ 2024-07-08 24/week @ 2024-07-15 8/week @ 2024-07-22 450/week @ 2024-07-29 26/week @ 2024-08-05

每月 514 次下载

MIT 许可证

8.5MB
218K SLoC

rbspy

crates.io ci

您有一个正在运行的 Ruby 程序并希望无需重新启动即可对其进行分析吗?想要轻松分析 Ruby 命令行程序?您需要 rbspy!rbspy 可以通过运行一个简单的命令来分析任何 Ruby 程序。

rbspy 允许您分析已运行的 Ruby 进程。您给它一个 PID,它就开始分析。它是一个采样分析器,这意味着它具有 低开销在生产环境中安全运行

rbspy 允许您记录分析数据,将原始分析数据保存到磁盘,然后以各种不同的方式进行分析。

仅墙钟分析

有两种主要的代码分析方式 —— 您可以分析应用程序所做的所有操作(包括等待),或者只分析应用程序使用 CPU 的时间。

rbspy 分析程序所做的所有操作(包括等待) —— 没有只分析程序使用 CPU 的选项。

文档

=> https://rbspy.github.io

要求

rbspy 支持 Linux*、Mac、Windows 和 FreeBSD。

* 需要 3.2+ 内核版本。对于 Ubuntu,这意味着 Ubuntu 12.04 或更高版本。

添加推荐信

如果 rbspy 帮助您使程序更快,最好的感谢项目的方式是将一个 成功故事添加到这个 GitHub 问题,人们会谈论 rbspy 如何帮助他们!听到 rbspy 对人们有帮助是很好的动力 :)

安装

独立二进制文件

在 Mac 上,您可以使用 Homebrew 安装: brew install rbspy

在 Linux 上

  1. GitHub 发布页面 下载 rbspy 的最新版本。
    • 带有标签 musl 的二进制文件使用 musl libc 静态链接,可在大多数系统上使用。带有标签 gnu 的二进制文件使用 GNU libc 动态链接,因此您需要安装它。
  2. 解压缩它
  3. 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

  1. crates.io 安装 cargo
  2. cargo build 构建
  3. cargo test 测试

构建的二进制文件将位于 target/debug/rbspy

依赖关系

~13–25MB
~391K SLoC