Перейти к содержимому

Обзор ​

Когда клик или нажатие клавиши обрабатывается слишком долго, страница кажется зависшей. 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 }))

Опции ​

ОпцияТипПо умолчаниюОписание
durationThresholdnumber100Минимальная длительность взаимодействия в миллисекундах, о которой сообщается. Браузер округляет её до кратного 8 и не опускается ниже 16