在Linux中分析Node.JS(代码)的执行时间

我正在寻找一种方法来在Linux上执行精确的Node.JS脚本执行时间分析

有一些有趣的项目,比如NodeTime.com性能分析器 ,但是这个分析了I / O httprequests的时间 ,而不是代码行的执行时间

我正在寻找一种方法来确定我可以优化我的Javascript, 大部分时间都花在哪里等。


我见过的一个有趣的方法是尝试使用DTrace创build一个FlameGraph来分析Node.JS.

但是, dtrace是非常特定于Solaris的。

  • 对于Linux(Debian / Ubuntu),可以在sytemtap-sdt-dev包中finddtrace 。 但是, stap dtrace并不相同,并且缺less所有相关的钩子/探针。
  • Paul Fox从Unix版本中创build了一个端口。 它的function更完整,但是挂钩/探测器在Solaris用户空间中不起作用,也不能用于剖析节点。
    ftp://crisp.dyndns-server.com/pub/release/website/dtrace/ (构build起来非常简单,请参阅自述文件。)
  • 还有一个Oracle端口,但没有人会推荐它。 显然,它只有大约0.1%的保罗福克斯港口的探测器。 (具有讽刺意味的是,因为Oracle曾经是Sun原始作者,而Solarisdtrace原创者)

如何在Linux中使用terminal或使用Eclipse,我可以剖析我的Node.JS脚本的代码? 我正在寻找特定的东西,比如Zend Profiler在PHP脚本代码中显示每个命令的执行时间。

如果你不反对使用nodetime ,它确实有CPU分析:

请参阅: http : //nodetime.com/blog/cpu-profiling-with-nodetime

在这里输入图像描述

“look”是Vadim为分析NodeJS应用程序制作的一个非常好的工具。

看看这里:

https://github.com/baryshev/look

https://www.npmjs.org/package/node.profiler确切地说你需要什么…它以监视模式运行你的项目,并且在你完成了关于函数的细节之后,它会生成一个图表,每个函数被调用了多less次和它在那里度过的时间。