带有--prof选项的节点创建多个日志文件而不是一个v8.log

时间:2015-05-26 14:45:03

标签: linux node.js ubuntu

我正在尝试使用“--prof”选项来配置我的Node应用程序,但是我发现有一个单独的v8.log文件而不是一个单独的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~minision1-Ubuntu SMP Tue Jul 15 04:04:23 UTC 2014 i686 i686 i386 GNU / Linux

节点输出-v

v0.12.0

2 个答案:

答案 0 :(得分:4)

我迟到了这个,但是如果你这样调用探查器:

node --prof --no-logfile-per-isolate example.js

您将获得一个名为v8.log的文件。然后你可以做这样的事情:

node --prof --no-logfile-per-isolate example.js && node --prof-process v8.log > example.v8log.txt

注意:这将产生单个输出文件,因此如果需要每个分离的文件,您可以使用--logfile选项:

node --prof --logfile=foo.log example.js

这仍然会将十六进制隔离标识符放在文件名中,但会附加您使用--logfile选项提供的值,从而生成如下所示的文件:isolate-0x103801e00-foo.logisolate-0x104000000-foo.log等等。

如果您不喜欢v8.log文件名,请合并--logfile--no-logfile-per-isolate选项:

node --prof --logfile=foo.log --no-logfile-per-isolate example.js

这将生成一个名为foo.log的文件。

HTH。享受!

- JSP

答案 1 :(得分:2)

我从我发布的另一个问题中得到了答案

从node.js v0.12或io.js 1.0开始,v8日志记录现在是隔离的,因此文件名的格式为isolate-v8.log。 感谢@mscdex

https://stackoverflow.com/a/30600851/644949