診断のためにイベント ループを覗くことはできますか?
現在実行を待っているイベントの数を知りたいです (setTimeout/interval を除く)。
更新: 実行中のノード プロセス内からこれを実行したいと思います。
診断のためにイベント ループを覗くことはできますか?
現在実行を待っているイベントの数を知りたいです (setTimeout/interval を除く)。
更新: 実行中のノード プロセス内からこれを実行したいと思います。
setImmediate() で nodejs 0.10 用に更新
キューで待機しているイベントの数を見つけることができませんでしたが、役立つ可能性のある別のヘルス メトリックを見つけました。
var ts=Date.now();
setImmediate(function()
{
var delay=Date.now()-ts;
});
delay には、イベントをキューに入れてから実行するまでにかかったミリ秒が含まれます。
これには、CPU を集中的に使用するイベントも考慮されます (これは、イベントの数を見るだけでは不可能です)。
測定自体もイベント キューに影響しますが、完全なプロファイラーよりもオーバーヘッドがはるかに少なくなります。
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
ここでエージェントを見つけて試すことができます。