1 个不稳定版本

0.12.1 2022年6月27日

#343性能分析


2 个库中使用(通过 pyroscope_rbspy

MIT 许可证

8.5MB
212K SLoC

rbspy

你可能想找的是 rbspy。这是一个支持在 CPU 上进行性能分析的分支。

crates.io ci

你有正在运行的 Ruby 程序需要进行分析,但又不想重启它?想要轻松分析 Ruby 命令行程序?你需要 rbspy!rbspy 只需运行一个简单命令即可分析任何 Ruby 程序。

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

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支持更多操作系统的pull请求。如果您有任何问题,最佳提问方式是创建GitHub问题

如果您不是非常有经验的Rust程序员,也非常欢迎您贡献。rbspy用Rust编写的主要原因是Rust对于初学者来说比C/C++更容易接近。https://rust-lang.net.cn/有丰富的Rust学习资源。

构建rbspy

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

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

依赖项

~13–25MB
~356K SLoC