Как запустить профилирование в NodeJS во время выполнения? - PullRequest
6 голосов
/ 23 января 2020

У нас есть веб-сервер на основе NodeJS с очень большим состоянием (Meteor), который иногда случайно замедляет производство. Проблема не воспроизводится ни в одном из наших тестов, и мы не знаем, что ее вызывает.

Для диагностики мы используем пакет v8-profiler . Это позволяет нам запускать 10-секундный профиль процессора и загружать его для автономного анализа.

Несмотря на то, что за 3 года не было получено никаких коммитов, пакет работал довольно хорошо. Это давало нам проблемы с компиляцией в прошлом, и теперь похоже, что прекратило компилировать полностью, нарушив нашу сборку. Сборка происходит внутри контейнера Docker со всеми закрепленными версиями, включая NodeJS и сам v8-профилировщик, поэтому вряд ли мы сможем это исправить на нашем конце.

Я думаю, что должны быть некоторые альтернативный, лучше поддерживаемый подход. Но где это?

(обратите внимание, что перезапуск сервера с дополнительными флагами (например, --profile) не вариант, потому что он уничтожает все свидетельства проблемы.)

1 Ответ

3 голосов
/ 18 февраля 2020

Я обнаружил, что v8-profiler-next является преемником v8-profiler.

Надеюсь, это работает для вас.

...