18

是否可以查看事件循环进行诊断?

我想知道当前有多少事件正在等待执行(不包括 setTimeout/interval)。

更新:我想从正在运行的节点进程中执行此操作。

4

2 回答 2

10

使用 setImmediate() 为 nodejs 0.10 更新

虽然我无法找到队列中等待事件的数量,但我发现了另一个可能有用的健康指标:

var ts=Date.now();
setImmediate(function()
{
  var delay=Date.now()-ts;
});

延迟将包含从排队事件到执行它所花费的毫秒数。

这也考虑了 CPU 密集型事件(仅通过查看事件数是不可能的)。

测量本身也会影响事件队列,但这应该比完整的分析器具有低得多的开销。

于 2013-02-14T21:42:14.320 回答
0

NodeFly 的代理监控整个 Node.js 性能,包括事件循环。您可以阅读一些关于此功能的博客文章:

http://blog.nodefly.com/post/41119237822/monitoring-the-event-loop-in-node-js

http://blog.nodefly.com/post/41201793716/just-another-friday-night-chat-scaling-node-js-and

您可以在这里找到并试用代理:

http://www.nodefly.com

于 2013-04-05T19:52:45.363 回答