让`node --prof`稍等一下再录制任何东西吗?

时间:2019-01-24 03:11:11

标签: javascript node.js profiling

我有一个脚本,该脚本主要是网络事件的回调。回调非常快地完成。相反,该脚本需要相对较长的时间来初始化。我并不在乎初始化要花多长时间,我只想优化事件回调。如果我运行node --prof,则大多数结果来自初始化。

如何使Node在初始化完成之前不记录任何内容?换句话说,如何以编程方式启用和禁用概要分析?

2 个答案:

答案 0 :(得分:2)

您总是可以将输出通过管道传递到flamebearer中以获取火焰图。

node --prof app.js
node --prof-process --preprocess -j isolate*.log | npx flamebearer

它不会阻止节点对整个应用程序进行性能分析,但是它可能会为您提供足够的信息,以深入显示火焰图,并忽略您不想看到的边缘周围的碎片,例如应用程序引导程序


您也可以始终尝试在循环中执行要分析的代码,以提供更大的表示形式。或者将node --profbenchmark一起使用。

答案 1 :(得分:0)

node --prof旨在从一开始就描述整个应用程序。您可以尝试使用其他分析器,例如vTune或内置于webstorm的分析器。我会尝试的另一件事是debug。调试可用于记录事件之间的时间,我想这就是您要尝试的时间。