2 个不稳定版本

0.2406.0 2024年6月27日
0.2403.0 2024年3月27日

性能分析 中排名第 51

Apache-2.0

495KB
13K SLoC

Rust 10K SLoC // 0.0% comments JavaScript 3K SLoC // 0.1% comments

Legion Prof

Legion Prof 是一个用于 Legion 应用程序的性能分析器,它可以可视化程序执行期间发生的任务和其他操作。有关安装和使用该分析器的文档,请参阅 Legion 性能分析页面

快速入门

在分析 Legion 应用程序时,请始终确保以发布模式构建 Legion(将 DEBUG=0-DCMAKE_BUILD_TYPE=Release 设置为发布模式)。发布模式相对于调试构建提供了显著(通常是 5 倍或更大的)速度提升。

构建应用程序后,使用以下命令运行:

./your_legion_app -lg:prof 1 -lg:prof_logfile prof_%.gz

标志 -lg:prof 1 启用性能分析,而 -lg:prof_logfile 指定相应的日志文件将写入的路径。在多节点运行中(从 0 开始),字符 % 将被替换为节点编号。

一旦您有一组日志,就可以安装分析器。如果您尚未安装 Rust,请运行

curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh

然后使用以下命令安装分析器:

cargo install --all-features --locked [email protected]

其中 YYMM 对应于您在应用程序中使用的 Legion 版本(即,YY.MM.0)。

重要:分析器的版本必须与应用程序中使用的 Legion 版本匹配,否则分析器可能无法解析日志。

如果您正在运行 Legion 的未发布版本(例如,在 master 分支上),则可以使用以下命令构建:

cargo install --all-features --locked --path legion/tools/legion_prof_rs

一旦安装了 legion_prof,就可以运行

legion_prof --view prof_*.gz

有关运行 Legion Prof 的其他模式,请参阅 完整的分析器文档

开发

我们在开发Legion Prof时采用了标准的Rust开发实践。

代码通过cargo fmt进行格式化,并且应该始终无警告编译。在编译时,请确保使用--all-features

cargo check --all-features

在开发过程中,您可能希望构建本地副本,可以使用以下命令来完成:

cargo run --release --all-features -- --view ...

如果您还需要修改legion_prof_viewer前端,您可以修改您的Cargo.toml以指向您的本地副本

legion_prof_viewer = { path = ".../path/to/prof-viewer", optional = true }

依赖项

~8–50MB
~831K SLoC