Обзор
Когда клик или нажатие клавиши обрабатывается слишком долго, страница кажется зависшей. Chrome сообщает об этом в DevTools ([Violation] 'click' handler took 312ms), но только на вашей машине.
slowHandlerIntegration использует Event Timing API браузера, чтобы замечать то же самое на устройствах реальных пользователей: каждое взаимодействие, обработка и отрисовка которого заняли больше durationThreshold, отправляется логом уровня warn с атрибутами type события, его duration и startTime:
'click' handler took 312msО взаимодействиях, произошедших до регистрации интеграции, тоже сообщается. В браузерах без поддержки Event Timing интеграция ничего не делает.
Использование
ts
import { use } from '@buglapse/browser'
import { slowHandlerIntegration } from '@buglapse/browser/integrations'
use(slowHandlerIntegration())
// сообщать только о совсем медленных взаимодействиях:
use(slowHandlerIntegration({ durationThreshold: 250 }))Опции
| Опция | Тип | По умолчанию | Описание |
|---|---|---|---|
durationThreshold | number | 100 | Минимальная длительность взаимодействия в миллисекундах, о которой сообщается. Браузер округляет её до кратного 8 и не опускается ниже 16 |