Кристоф Гуттандин рассказал про то, как он тестирует свою библиотеку на утечки памяти с помощью Puppeteer — "Automatically detect memory leaks with Puppeteer".
Для получения информации о потребляемой памяти в Puppeteer можно использовать метод
В итоге, автор остановился на варианте с
На ум пришёл ещё такой способ использования
#testing #internals #puppeteer
https://media-codings.com/articles/automatically-detect-memory-leaks-with-puppeteer
Для получения информации о потребляемой памяти в Puppeteer можно использовать метод
metrics()
. Кристофу этот способ не подошёл. Проблема в том, что для получения воспроизводимых результатов, надо перед запуском теста вызывать сборку мусора, что не всегда получается сделать. Плюс, когда начинает работать оптимизатор v8, потребляемая память может непредсказуемо измениться и тесты будут моргать.В итоге, автор остановился на варианте с
queryObjects()
. С помощью него можно подсчитать количество всех объектов в heap, у которых в цепочке прототипов, содержится переданный в качестве аргумента объект (`queryObjects()` также доступен из консоли chrome dev tools).На ум пришёл ещё такой способ использования
queryObjects()
. Если есть подозрение, что текут объекты с определённым прототипом, запрашиваем количество объектов с помощью queryObjects()
в консоли браузера до и после проблемного кода и сравниваем. В общем, статья полезная. Советую почитать. #testing #internals #puppeteer
https://media-codings.com/articles/automatically-detect-memory-leaks-with-puppeteer
Media-Codings
Automatically detect memory leaks with Puppeteer - Article by Christoph Guttandin - Media Codings
Media Codings is a company specialized in building multimedia web applications.