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

时间:2012-10-30 16:22:58

标签: javascript eclipse node.js profiling dtrace

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

有一些有趣的项目,例如NodeTime.com Performance Profiler,但这会描述I / O httprequests的时间安排,而不是代码行的执行时间

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


我见过的一个有趣的方法是尝试create a FlameGraph using DTrace分析Node.JS。

但是,dtrace非常特定于Solaris。

  • 对于Linux(Debian / Ubuntu),可以在dtrace包中找到sytemtap-sdt-dev。但是,stap dtrace不一样,缺少所有相关的钩子/探针。
  • Paul Fox在Unix版本中创建了一个端口。它的功能更加完整,但不知何故,钩子/探针不像Solaris那样在用户空间中工作,也不能用于配置节点。
    ftp://crisp.dyndns-server.com/pub/release/website/dtrace/(构建非常简单,请参阅自述文件。)
  • 还有一个Oracle端口,但没有人would recommend。显然,它只有大约0.1%的Paul Fox端口探测器。 (具有讽刺意味的是,因为Oracle以前是Sundtrace Solaris的原创作者

在Linux中,如何使用终端或使用Eclipse,我可以分析我的Node.JS脚本的代码吗?我正在寻找像Zend Profiler这样的特定内容来显示执行时间PHP脚本代码中的每个命令。

3 个答案:

答案 0 :(得分:8)

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

看看这里:

https://github.com/baryshev/look

答案 1 :(得分:7)

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

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

enter image description here

答案 2 :(得分:1)

https://www.npmjs.org/package/node.profiler 正是你需要的...... 它以监控模式运行您的项目,并在您完成功能的详细信息,每次调用它的次数以及在那里花费的时间后生成一个图表。