如何将isolate*.log转换为Chrome DevTools支持的CPU Profile文件
将
isolate*.log转换为Chrome DevTools兼容.cpuprofile格式的方法 不需要额外安装第三方转换工具,直接用Node.js内置的V8 profile处理能力就能生成符合要求的文件。
具体操作步骤
- 在存放
isolate*.log的目录下执行以下命令:node --prof-process --preprocess -j isolate*.log > node-profile.cpuprofile - 打开Chrome浏览器,按F12调出DevTools,点击右上角三点菜单,依次选择「More tools」->JavaScript Profiler打开性能分析面板
- 点击面板内的「Load」按钮,选择上一步生成的
node-profile.cpuprofile文件,即可直接在DevTools内查看函数耗时、调用栈、火焰图等全量分析结果,和分析网页端CPU Profile的操作完全一致。
之前命令无法生成可识别文件的原因
- 你之前搭配
flamebearer使用的命令,前半段node --prof-process --preprocess -j isolate*.log本身就已经输出了DevTools兼容的结构化JSON数据,只是之前你把输出通过管道传给了flamebearer渲染成独立HTML报告,没有直接落盘为.cpuprofile文件而已。 - 执行
node --prof-process isolate*.log > report.txt生成的是面向人类阅读的纯文本统计结果,不是结构化的Profile数据格式,自然无法被DevTools识别加载。
兼容说明
- Node.js 16及以上版本执行上述命令生成的文件,可以直接被当前版本Chrome DevTools识别,不需要额外调整。
- 如果使用低版本Node生成的文件加载报错,可以打开生成的JSON文件检查,只要最外层结构包含
nodes、startTime、endTime、samples、timeDeltas这几个核心字段,去掉外层多余的包装属性即可正常加载。 - 生成的
.cpuprofile文件同时兼容VS Code内置性能分析器、其他支持V8 CPU Profile格式的分析工具,不需要重复转换。
内容的提问来源于stack exchange,提问作者Black Mamba
相关产品推荐
相关产品推荐

