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

Red*_*dro 21 javascript eclipse profiling dtrace node.js

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

有一些有趣的项目,比如NodeTime.com Performance Profiler,但是它描述了I/O httprequests的时间等,而不是代码行的执行时间.

我正在寻找一种方法来弄清楚我可以在哪里优化我的Javascript,大部分时间花在哪里,等等.


我见过的一个有趣的方法是尝试使用DTrace创建FlameGraph来分析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端口,但没有人会推荐它.显然,它只有大约0.1%的Paul Fox端口探测器.(这是具有讽刺意味,因为Oracle是以前Sun的原作者dtraceSolaris)

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

Bog*_*wis 8

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

看看这里:

https://github.com/baryshev/look

  • 我试过这个,但无法理解如何使用它.它向我显示"0.02% - channel.onread"(不知道它是什么)和"99.98% - (程序)",没有办法进入"程序"并查看特定例程的时间. (4认同)

bri*_*vis 7

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

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

在此输入图像描述