Я пытаюсь понять, содержит ли FCP, предоставленный Google Lighthouse, время, которое сервер должен был использовать для ответа.
Из того, что я могу увидеть значения, предоставленные API производительности браузера и Google Маяки бывают разные.
Например, я построил простой демонстрационный сервер с параметром запроса для контроля скорости ответа:
const path = require('path');
const express = require('express');
const port = 6789;
const app = express();
app.get('/index', (req, res) => {
setTimeout(() => {
res.sendFile(path.resolve(__dirname, './index.html'));
}, Number(req.query.delay || 0));
});
app.listen(port);
console.log('server started on port %s', port);
Я делаю запрос к этому серверу с задержкой 10 с, например http://localhost:6789/index/?delay=10000
и после его загрузки я запускаю скрипт, чтобы получить значение FCP в консоли:
window.performance.getEntriesByName('first-contentful-paint')[0].startTime;
// 10113.205000001471
Однако, когда я запускаю Google Lighthouse с той же задержкой 10 с http://localhost:6789/index/?delay=10000
Я вижу FCP всего 0,8 с. который меньше секунды, например
Я предполагаю, что Google Lighthouse не включает время загрузки сервера, но затем в какой момент он запускается измерить метри c? Вот цитата из официального сайта: c -
FCP измеряет, сколько времени браузеру требуется для отображения первого фрагмента содержимого DOM после перехода пользователя на вашу страницу. (источник - https://web.dev/first-contentful-paint/?utm_source=lighthouse&utm_medium=devtools)
У кого-нибудь есть идеи? Спасибо!