性能分析
使用 Rsdoctor
Rsdoctor 是一款为 Rspack 生态量身打造的构建分析工具。
当你需要调试 Rstest 的构建产物或构建过程时,可以借助 Rsdoctor 来提升排查问题的效率。
快速上手
在 Rstest 中,你可以通过以下步骤开启 Rsdoctor 分析:
- 安装 Rsdoctor 插件:
- 在 CLI 命令前添加
RSDOCTOR=true环境变量:
package.json
由于 Windows 不支持上述用法,你也可以使用 cross-env 来设置环境变量,这可以确保在不同的操作系统中都能正常使用:
package.json
在项目内执行上述命令后,Rstest 会自动注册 Rsdoctor 的插件,并在构建完成后打开本次构建的分析页面,请参考 Rsdoctor 文档 来了解完整功能。

使用 Samply
注意:为了能在 macOS 中对 Node.js 侧代码进行 profiling 需要 22.16+ 版本。
Samply 支持同时对 Rstest 主进程和测试进程进行性能分析,可通过如下步骤进行完整的性能分析:
运行以下命令启动性能分析:
命令执行完毕后会自动打开分析结果。
Rstest 的 JavaScript 代码通常执行在 Node.js 线程里,选择 Node.js 线程查看 Node.js 侧的耗时分布。

Node.js profiling
你也可以使用 Node.js 内置的性能分析工具来分析 Rstest 的性能。
例如,你可以使用 --heap-prof 标志来启用堆内存分析:
堆内存分析文件将生成在 ./heap-prof 目录中。你可以使用 Visual Studio Code 或 Chrome DevTools 等工具来分析这些文件。
你也可以使用 --inspect 标志来启用 Node.js 调试器。