Node.js Диагностика цикла событий - программирование
Подтвердить что ты не робот

Node.js Диагностика цикла событий

Можно ли заглянуть в цикл событий для диагностики?

Я хотел бы знать, сколько событий в настоящий момент ожидает выполнения (исключая setTimeout/interval).

Обновление: я хотел бы сделать это из процесса node.

4b9b3361

Ответ 1

Обновлен для nodejs 0.10 с помощью setImmediate()

Пока мне не удалось найти количество ожидающих событий в очереди, я нашел еще один показатель работоспособности:

var ts=Date.now();
setImmediate(function()
{
  var delay=Date.now()-ts;
});
Задержка

будет содержать миллисекунды, которые потребовались в очереди для выполнения этого события.

Это также учитывает интенсивные события cpu (что было бы невозможно, просто глядя на # событий).

Само измерение также повлияет на очередь событий, но это должно иметь гораздо меньшие накладные расходы, чем полный профилировщик.

Ответ 2

Агент NodeFly контролирует общую производительность Node.js, включая Event Loop. Вы можете прочитать пару записей в блоге, связанных с этой функциональностью:

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