Кукловод: программно сохранить график производительности Chrome для длительных сеансов - PullRequest
0 голосов
/ 11 июня 2019

Я пытаюсь записать трассировку временной шкалы веб-страницы с помощью API трассировки кукловода.

await page.tracing.start({ path: 'trace.json'});
//do stuff on web page for x seconds
await page.tracing.stop();

Если запустить трассировку в течение 1 минуты, размер сгенерированного файла trace.json превышает 200 МБ.Когда я загружаю файл на вкладке производительности Chrome, я вижу, что многие детали отсутствуют.Обычно на временной шкале Chrome есть такие детали, как Сеть, Кадр, Взаимодействия, Время, Основное и т. Д. Ниже приведен скриншот трассировки временной шкалы, сгенерированной из моей трассировки. Json Figure 1

В ней есть только Браузер,Renderer и GPU обрабатывают информацию, но не Network, frame, Main и т. Д.

Если я запускаю trace в течение 10 секунд, размер файла trace.json составляет около 25 МБ, и он корректно отображается на панели временной шкалы со всеми подробностями, такими какСеть, Кадр, Взаимодействие, Синхронизация, Основное и т. Д. enter image description here

Почему визуальное представление трассировки шкалы времени в приведенных выше 2 сценариях отличается?

Я должен делать долгозапуск тестов на веб-странице, которые будут выполняться в течение 10-15 минут.Как я могу записать трассировку временной шкалы веб-страницы в таких сценариях, чтобы получить трассировку, подобную приведенной на рисунке 2, со всеми подробностями, такими как сетевые вызовы и т. Д.

Должен ли я периодически собирать трассировку каждые 10-15 секундвызывая tracing.start на всю продолжительность теста в течение 15 минут.Существует ли верхний предел размера генерируемой трассы или продолжительности трассировки?Есть ли лучшая альтернатива, чтобы сохранить временную шкалу хрома?

...