node.js事件循环诊断

node.js事件循环诊断,node.js,event-loop,Node.js,Event Loop,是否可以查看事件循环以进行诊断 我想知道目前有多少事件正在等待执行(不包括setTimeout/interval) 更新:我想在正在运行的节点进程内部执行此操作。使用setImmediate()更新了nodejs 0.10 虽然我无法找到队列中等待事件的数量,但我找到了另一个可能有用的健康指标: var ts=Date.now(); setImmediate(function() { var delay=Date.now()-ts; }); 延迟将包含从排队事件到执行事件所用的毫秒数 这还

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

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

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

使用setImmediate()更新了nodejs 0.10

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

var ts=Date.now();
setImmediate(function()
{
  var delay=Date.now()-ts;
});
延迟将包含从排队事件到执行事件所用的毫秒数

这还考虑了cpu密集型事件(仅通过查看事件的数量是不可能的)


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

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

您可以在此处找到并试用代理:


有趣的问题,除了查看节点的代码外,我会留下来看看是否有人有任何线索。dtrace会有帮助吗?我知道它是用来分析node的。我更喜欢一个可以在node.js中使用的低性能开销的解决方案。@TheBronx火焰图看起来很有趣,尽管它比我需要的要多一些。它似乎做了一些类似于我前面描述的事情:“NodeFly代理修补nextTick函数以获取事件循环的计时数据。”如果我们能够真正“看到”事件,那就太好了……我想你从来没有找到这样做的方法?