Как дела?
Я также хотел бы знать, есть ли какой-нибудь модуль узла для того же самого?
Я пробовал некоторые модули на 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 ().:)