Что такое MemLab?

Что такое MemLab?

Alexey QA note

MemLab — это инструмент для анализа и оптимизации потребления памяти вашими веб-приложениями. Он помогает обнаруживать утечки памяти в e2e сценариях.


Пример кейса для E2E сценария:

Давно замечал, что у иви, после просмотра трейлера, сайт немного начал медленно работать, пишем простой сценарий с вероятной утечкой памяти.

const memlab = require('memlab');

const scenario = {
    url: () => 'https://www.ivi.tv/watch/dva-berega',
    action: async (page) => {
        await page.click('.userControls__hoard .userControls__item_play')
    },
    back: async (page) => await page.click('.nbl-icon_close_20'),
}
memlab.run({scenario});

Результат 8 утечек

Рассмотрим одну из утечек

Видно, что объекты удерживают ссылки на элементы DOM, которые были удалены из документа, но не освобождены из памяти. Это обычно указывает на утечку памяти, связанную с неправильным управлением DOM-элементами

Что умеет делать?

  • Обнаружение утечек памяти в браузере
  • Позволяет программно анализировать heap snapshots
  • Встроенный набор инструментов и API для поиска возможностей оптимизации памяти, не ограничиваясь только утечками
  • Проверка памяти в юнит-тестах.

Report Page