我想知道是否存在.cpuprofile文件格式的(非官方)规范,该规范是在基于Chromium的浏览器的开发人员工具中使用JavaScript分析时生成的。

它是纯文本JSON,因此很容易获取调用树数据,但我不了解如何获取每个函数的时序信息。

我也对每个功能的命中数感兴趣。

最佳答案

根据documentation provided by @artm,可以使用kcachegrind分析输出。要将Chrome .cpuprofile文件加载到其中,您需要做的就是将其转换为callgrind格式。

您没有提到您的开发环境,所以我不能说最好的解决方案。

该文档为此提到了Google's perf tools和kcachegrind。这些工具需要手动构建,而我没有一个方便的环境来执行此操作。

这是我在装有Node的Windows 8.1机器上进行操作的方法。

  • 为节点安装chrome2calltree。此命令实用程序会将您的.cpuprofile转换为callgrind格式。
  • 安装QCacheGrind。这是Windows预建的kcachegrind端口,可用于可视化callgrind格式的文件。
  • 转换您的.cpuprofile:chrome2calltree -i test.cpuprofile -o callgrind.profile
  • 使用QCacheGrind打开您的callgrind.profile。
  • 09-16 08:47