Покрытие кода Nodejs API на основе фактического производственного трафика

Я работаю над довольно большой кодовой базой nodejs, которая несколько раз подвергалась рефакторингу и переносу из устаревшей в новую версию службы, и я очень подозреваю, что какой-то код больше не используется.

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

У меня возникла идея запустить 1 сервер API с использованием Istanbul, поставить на некоторое время в производственный пул ( несколько минут/часов/дней) и посмотрите, какой код действительно полезен (и определите вероятный мертвый код).

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

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

Спасибо!


person Pierre    schedule 01.12.2016    source источник


Ответы (1)


Лучше всего сделать то, что вы хотите, это запустить приложение на SmartOS, OmniOS или другой дистрибутив illumos/OpenSolaris и используйте DTrace.

Видеть:

person rsp    schedule 01.12.2016
comment
Вы также можете отслеживать приложения node.js, используя FreeBSD 10.3 или более позднюю версию — большинство хостинг-провайдеров предлагают это. Вам нужно будет скомпилировать node.js с параметром --with-dtrace - person Number 9; 07.12.2016