Анализ производительности в кукловоде - PullRequest
0 голосов
/ 25 сентября 2019

Я использую Puppeteer для сканирования в Интернете. Мне нужно проанализировать производительность веб-страницы с помощью Puppeteer.

Мне нужно разделить время для каждого компонента в Puppeteer, например, Timetaken для подключения к URL, Timetaken дляметод page.evaluate и т. д.

Я также хотел бы знать, есть ли какой-либо модуль узла для того же самого?

1 Ответ

0 голосов
/ 26 сентября 2019

Как дела?

Я также хотел бы знать, есть ли какой-нибудь модуль узла для того же самого?

Я пробовал некоторые модули на npmхранилище, но ни один из них не соответствует моим потребностям.Попробуйте найти npm по «производительности кукловода» или «метрикам кукловода»Посмотрите, подходит ли вам один из них.

В итоге я создал собственную схему сбора метрик, используя для кода комбинацию Date.now() - t0 (где t0 - мой предыдущий Date.now ())работающий на узле, и await page.evaluate(() => performance.now()); для кода, работающего на Page.

Другие вещи, которые вы можете попробовать:

  • npm module puppeteer-har: вы можете очень просто генерировать файлы HARс ним.
  • Трассировка кукловода: см. page.tracing.start и page.tracing.stop.С его помощью вы можете генерировать «трассировки», которые вы можете открыть на вкладке «Производительность» Chrome Devtools.
  • Протокол Chrome Devtools: let { metrics: cdpMetrics } = await page._client.send('Performance.getMetrics'); Здесь собираются различные показатели из загрузки страницы.

Опять же, для того, что вы хотите:

Мне нужно разделить время для каждого компонента в кукловоде, например, время, потраченное на подключение к URL, время, использованное для метода page.evaluate и т. Д.

Скорее всего, ваш лучший способ - ввести код самостоятельно, используя Date.now ().:)

...