Библиотека Web Vitals предоставляет подробную информацию о ключевых
показателях производительности веб-страниц, таких как LCP
(Largest Contentful Paint), FID (First Input
Delay), CLS (Cumulative Layout Shift) и
другие. Каждое событие Web Vitals содержит несколько полей, среди
которых value является центральным для
количественной оценки показателя.
valueПоле value отражает числовое измерение
конкретного метрика, позволяя напрямую использовать его для
анализа, мониторинга и визуализации производительности. Оно всегда имеет
тип number и представляет собой уже вычисленное значение
показателя в определённых единицах измерения, соответствующих
спецификации Web Vitals.
Примеры использования:
import {getLCP} from 'web-vitals';
getLCP(metric => {
console.log(metric.value);
// Например, 2500 — значение в миллисекундах
});
В этом примере metric.value возвращает время в
миллисекундах, необходимое для загрузки наибольшего элемента
контента.
Каждый показатель Web Vitals использует свою стандартную единицу измерения, что важно для корректного сравнения и интерпретации данных:
Важно помнить, что CLS отличается от остальных
метрик, поскольку не использует миллисекунды, а представляет
собой коэффициент, который складывает смещения элементов. Поле
value CLS может принимать дробные значения от 0 до 1, где
0.1–0.25 считается средним уровнем, а выше 0.25 —
плохим.
Каждая метрика Web Vitals возвращает объект со стандартной структурой:
{
name: 'LCP',
value: 2345.67, // числовое значение
delta: 120.45, // изменение по сравнению с предыдущим измерением
id: 'v1-123456', // уникальный идентификатор события
entries: [...] // массив PerformanceEntry, относящийся к событию
}
value — основное числовое значение показателя.delta — разница по сравнению с предыдущим измерением,
полезна для анализа динамики.entries — массив объектов PerformanceEntry,
детализирующих источник и контекст события.valueconsole.log(`LCP: ${Math.round(metric.value)} ms`);
console.log(`CLS: ${metric.value.toFixed(2)}`);
value позволяет
легко агрегировать показатели:const averageLCP = metrics.reduce((sum, m) => sum + m.value, 0) / metrics.length;
value, разделяя показатели на
хорошие, средние и
плохие. Например, LCP ≤ 2.5 с считается хорошим, FID ≤
100 ms — хороший отклик, CLS ≤ 0.1 — минимальное смещение. Эти пороговые
значения позволяют программно оценивать качество UX:if (metric.name === 'LCP' && metric.value > 2500) {
console.warn('Проблема с Largest Contentful Paint');
}
value
должно сохраняться как числовое значение без преобразований в строки,
поскольку многие системы рассчитывают агрегаты и метрики на основе
чисел.valueПоле value — это ключ к количественной оценке
производительности страницы. Оно обеспечивает унифицированное
представление данных, позволяет выполнять агрегацию, сравнение и
визуализацию метрик. Понимание единиц измерения каждой метрики критично
для корректного анализа и оптимизации пользовательского опыта.
Использование value в сочетании с другими полями
(delta, entries) позволяет создавать сложные
системы мониторинга, реагировать на деградацию производительности и
строить наглядные отчёты, делая Web Vitals инструментом, ориентированным
на практическую аналитику.