Documentation
Интеграции
Web Vitals
Web Vitals
Hawk может автоматически отправлять события для плохих Core Web Vitals.
Поддерживаются метрики:
- CLS — Cumulative Layout Shift
- INP — Interaction to Next Paint
- LCP — Largest Contentful Paint
- FCP — First Contentful Paint
- TTFB — Time to First Byte
Чтобы включить сбор Web Vitals:
import HawkCatcher from '@hawk.so/browser';
const hawk = new HawkCatcher({
token: 'INTEGRATION_TOKEN',
issues: {
webVitals: true,
},
});
Hawk отслеживает значения Web Vitals через и отправляет событие только если метрика превышает заданный порог.
web-vitals
Для каждой метрики событие отправляется не чаще одного раза за время жизни страницы.
| Метрика | Порог по умолчанию |
| CLS (Cumulative Layout Shift ) | 0.35 |
| INP (Interaction to Next Paint ) | 700 мс |
| LCP (Largest Contentful Paint ) | 5000 мс |
| FCP (First Contentful Paint) | 4000 мс |
| TTFB (Time to First Byte) | 2500 мс |
Можно указать собственные пороги для метрик:
const hawk = new HawkCatcher({
token: 'INTEGRATION_TOKEN',
issues: {
webVitals: {
reportPoorAbove: {
CLS: 0.3,
INP: 600,
LCP: 4500,
FCP: 3500,
TTFB: 2200,
},
},
},
});
Можно переопределять только нужные метрики:
const hawk = new HawkCatcher({
token: 'INTEGRATION_TOKEN',
issues: {
webVitals: {
reportPoorAbove: {
LCP: 4500,
},
},
},
});
Для остальных метрик будут использоваться значения по умолчанию.
События имеют заголовок вида:
Poor Web Vital: LCP (Largest Contentful Paint)
Дополнительные данные метрики попадают в payload события.
События Web Vitals проходят через beforeSend, как и обычные события.
Их можно изменить или отфильтровать:
const hawk = new HawkCatcher({
token: 'INTEGRATION_TOKEN',
beforeSend(event) {
if (event.payload.title?.startsWith('Poor Web Vital')) {
return false;
}
return event;
},
});
☝️
Рекомендуется
Poor Web Vital:.*