2014-11-07 1 views
3

У меня очень интенсивное приложение. Интересно, можно ли получить текущую трассировку стека, чтобы понять, например, с помощью завершения SIGINT, в котором конкретная функция является текущим вычислением.Получение * текущей * трассировки стека в node.js (например, через SIGINT)

Я попытался добавить следующий обработчик:

process.on('SIGINT', function() { 
    log('SIGINT!') 
    var stack = new Error().stack; 
    log(stack); 
    log('quitting.'); 
    process.exit(); 
}); 

но мне кажется, что это называется только тогда, когда интенсивные вычисления закончились и не сразу, как я нажимаю Ctrl-C.

любая идея о том, как следить за выполнением, не загрязняя код сообщениями журнала?

ответ

0

У меня нет конкретного ответа на ваш вопрос, но я хотел бы посмотреть на синхронном коде (например, фс. * Sync)

Я предлагаю узел-инспектор (https://github.com/node-inspector/node-inspector), которые позволяют получить подсказку о том, что происходит либо поэтапно в коде, и некоторые сообщения об использовании ресурсов

Смежные вопросы