У Нолана Лоусона есть интересный пакет
fuite, который помогает искать утечки памяти во фронтенд-приложениях. Наконец-то добрался его потестировать.По сути достаточно вызвать команду
npx fuite https://my-awesome.website/some-page -o ./output.json. После этого утилита запустит безголовый Chrome, а потом долго будет прогонять простые тесты, кликая по ссылкам и возвращаясь назад. В процессе анализирует heap snapshots, подписки на события и всякие доступные через Chrome DevTools Protocol объекты (к сожалению, именно поэтому тестирует по сути только в Chromium), а в конце выдаёт отчёт, где чего протекает.Так как запускается это всё у вас локально на машинке, то можно хоть на dev-сервер натравить эту утилиту, хоть на продакшен. Я запускал на продакшен. Тестировало долго. Я бы даже сказал, что очень долго. Но нашло в одном проекте утечек на 700 килобайт памяти, а это уже хороший повод потерпеть. Ещё и показывает, где именно протекает, удобно.
https://github.com/nolanlawson/fuite