了解 v8/Node.js 分析报告

Pav*_*gin 6 profiling v8 node.js

我正在尝试对--profNode.js使用选项。所以我在 linux-tick-processor 之后得到以下报告:

 [Shared libraries]:
   ticks  total  nonlib   name
  20736   94.8%    0.0%  b78a5000-b78a6000
    574    2.6%    0.0%  /usr/lib/libv8.so.3.4.14.21
    117    0.5%    0.0%  /usr/bin/node
     62    0.3%    0.0%  /lib/i386-linux-gnu/i686/cmov/libc-2.13.so
      1    0.0%    0.0%  /lib/i386-linux-gnu/ld-2.13.so

 [JavaScript]:
   ticks  total  nonlib   name
      3    0.0%    0.8%  Stub: StringAddStub
      3    0.0%    0.8%  Builtin: A builtin from the snapshot {1}

 ...

   ticks parent  name
  20736   94.8%  b78a5000-b78a6000

    574    2.6%  /usr/lib/libv8.so.3.4.14.21
     94   16.4%    Function: ~QueryCommand.toBinary /storage/hoc/nodejs/lib/mongodb/commands/query_command.js:37
     94  100.0%      Function: ~Connection.send /storage/hoc/nodejs/lib/mongodb/connection.js:353
     94  100.0%        Function: ~Db.executeCommand /storage/hoc/nodejs/lib/mongodb/db.js:629

 ...
Run Code Online (Sandbox Code Playgroud)

是什么b78a5000-b78a6000?此行中的数字在每次运行中都不同。

total, nonlib,parent是什么意思?我找不到它的文档。

Red*_*dro 1

我猜这个问题现在已经过时了。我也有兴趣分析我的节点应用程序,但不再有一个--prof开关(无论如何似乎都能获得粗略的信息)。

查找dtrace以及flamegraph您是否使用 Unix(例如 Solaris)。非常详细的剖析。不幸的是,我无法使用它,因为我运行 Linux (Ubuntu),并且原始版本dtrace尚未正确移植。