Заставить `node --prof` немного подождать, прежде чем что-то записывать? - PullRequest
0 голосов
/ 24 января 2019

У меня есть скрипт, который в основном обратный вызов для сетевых событий. Обратные вызовы заканчиваются очень быстро. В отличие от сценария инициализация занимает относительно много времени. Мне все равно, сколько времени нужно для инициализации, я просто хочу оптимизировать обратные вызовы событий. Если я запускаю node --prof, большинство результатов получено при инициализации.

Как я могу заставить Node ничего не записывать, пока не завершится инициализация? Другими словами, как я могу программно включать и отключать профилирование?

Ответы [ 2 ]

0 голосов
/ 19 февраля 2019

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

node --prof app.js
node --prof-process --preprocess -j isolate*.log | npx flamebearer

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


Вы всегда можете попробовать выполнить код, который хотитепрофиль в цикле, чтобы дать им большее представление.Или используйте node --prof в тандеме с benchmark.

0 голосов
/ 19 февраля 2019

node --prof предназначен для профилирования всего приложения с самого начала. Вы можете попробовать использовать другой профилировщик, например, vTune или встроенный в веб-шторм. Другая вещь, которую я бы попробовал, это debug . Отладку можно использовать для регистрации времени между событиями, которое, я думаю, является тем, к чему вы стремитесь.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...