Vip*_*esh 5 linux ubuntu node.js
我正在尝试使用“--prof”选项来分析我的 Node 应用程序,但我看到不是一个单独的 v8.log 文件,而是创建了多个文件,这些文件使用了诸如isolate-0x9582b40-v8.log、isolate-0xa1cab78-v8-6049 这样的前缀.log、isolate-0xa7ffb40-v8.log、isolate-0xb5900468-v8.log、isolate-0xb6200468-v8-6049.log。
我无法使用 Linux-tick-processor 处理这些文件,因为我不知道要使用哪个文件进行处理。
我在 Vm VirtualBox 上运行以下配置 Ubuntu 12.4 Lts。节点版本 0.12.0
uname -a 的输出
Linux ubuntu 3.8.0-44-generic #66~precise1-Ubuntu SMP Tue Jul 15 04:04:23 UTC 2014 i686 i686 i386 GNU/Linux
节点 -v 的输出
v0.12.0
我在这个聚会上迟到了,但是如果您像这样调用分析器:
node --prof --no-logfile-per-isolate example.js
Run Code Online (Sandbox Code Playgroud)
您将获得一个名为v8.log. 然后你可以做这样的事情:
node --prof --no-logfile-per-isolate example.js && node --prof-process v8.log > example.v8log.txt
Run Code Online (Sandbox Code Playgroud)
注意:这将导致单个输出文件,因此如果您需要每个隔离的文件,您可以使用该--logfile选项:
node --prof --logfile=foo.log example.js
Run Code Online (Sandbox Code Playgroud)
这仍会将十六进制隔离标识符放在文件名中,但附加您随--logfile选项提供的值,导致文件如下所示:isolate-0x103801e00-foo.log,isolate-0x104000000-foo.log依此类推。
如果您不喜欢v8.log文件名,请结合使用--logfile和--no-logfile-per-isolate选项:
node --prof --logfile=foo.log --no-logfile-per-isolate example.js
Run Code Online (Sandbox Code Playgroud)
这将产生一个名为foo.log.
哈。享受!
--jsp
我从我发布的另一个问题中得到了答案
从 node.js v0.12 或 io.js 1.0 开始,v8 日志记录现在是按隔离进行的,因此文件名的格式为isolate--v8.log。感谢@mscdex
| 归档时间: |
|
| 查看次数: |
1930 次 |
| 最近记录: |