【问题标题】:How to inspect result of `node --prof` on x64 MacOS X 10.7?如何在 x64 MacOS X 10.7 上检查 `node --prof` 的结果?
【发布时间】:2013-01-27 13:39:25
【问题描述】:

我尝试在 CLI 中分析我的 node.js 脚本。

https://code.google.com/p/v8/wiki/V8Profilerhttp://blog.arc90.com/2012/03/05/profiling-node-programs-on-mac-os-x/ 所写:

$ node --prof my_script.js

好吧,我得到了一个名为 v8.log 的文件,里面有很多行。

但随后在检查工具中都出错了。

$ tools/mac-tick-processor v8.log

给我看

Statistical profiling result from v8.log, (298 ticks, 237 unaccounted, 0 excluded).

并清空 JavaScript 部分。

[JavaScript]:
  ticks  total  nonlib   name

我也尝试https://github.com/bnoordhuis/node-profiler,但也得到了一些结果。

如何处理 --prof 结果?

$ node -v
v0.8.18

$ sw_vers
ProductName:    Mac OS X
ProductVersion: 10.7.4
BuildVersion:   11E53

【问题讨论】:

  • 如果您的脚本是一个 Web 应用程序,并且您想在负载测试期间或根据要求对其进行分析,您也可以尝试 Nodetime (nodetime.com)。看到这个帖子blog.nodetime.com/2012/05/cpu-profiling-with-nodetime.html
  • @DmitriMelikyan 实际上是它的 CLI 脚本。一方面它可以将逻辑包装到简单的网络应用程序中,但另一方面 - 我需要 CLI 的东西。我喜欢 CLI,它又快又简单。但无论如何,我会试试看
  • 刚刚发现这个 node.js 模块似乎在做类似的事情(并且有效) - github.com/sidorares/node-tick

标签: javascript macos node.js profiling


【解决方案1】:

根据@Dogbert 的建议,您可以使用github.com/sidorares/node-tick

如果您缺少任何功能,请随时创建拉取请求。好久没更新了,感觉还是可以的

【讨论】:

  • 哦,先生,非常感谢。你刚刚结束了一天最糟糕的编程挫折。
【解决方案2】:

节点 4.4.0 之后:

node --prof-process isolate-0xnnnnnnnnnnnn-v8.log > processed.txt

发件人:https://nodejs.org/en/docs/guides/simple-profiling/

【讨论】:

    猜你喜欢
    • 2011-12-04
    • 2011-09-29
    • 1970-01-01
    • 1970-01-01
    • 2012-11-09
    相关资源
    最近更新 更多