Performance Issues
Хоук может автоматически отправлять performance-события через Performance API браузера.
Поддерживаются:
- Long Tasks
- Long Animation Frames
Long Tasks позволяет отслеживать длинные задачи в main thread браузера.
Hawk создаёт для PerformanceObserver и отправляет событие, если длительность задачи превышает заданный порог.
longtask
Событие отправляется только если:
- длительность задачи больше или равна порогу;
-
у первой attribution есть:
containerSrc,containerId,containerName
Это помогает отсекать системные и малоинформативные задачи.
По умолчанию используется порог:
Можно указать собственный порог:
Минимальный кастомный порог — 50 ms.
События имеют заголовок вида:
Дополнительные данные задачи попадают в payload события.
Поддержка зависит от браузера.
Если браузер не поддерживает , наблюдатель не создаётся и ошибок из-за этого не будет.
longtask
Long Animation Frames позволяет отслеживать тяжёлые кадры рендеринга.
Hawk создаёт для PerformanceObserver и отправляет событие, если длительность кадра превышает заданный порог.
long-animation-frame
Событие отправляется только если:
- длительность кадра больше или равна порогу;
-
в
есть скрипт с:scriptssourceURL,sourceFunction,Nameinvoker
Это помогает отправлять только кадры с полезной диагностической информацией.
По умолчанию используется порог:
Можно указать собственный порог:
Минимальный кастомный порог — 50 ms.
События имеют заголовок вида:
Иногда к заголовку добавляется суффикс с информацией о скрипте.
Поддержка зависит от браузера.
Если браузер не поддерживает , наблюдатель не создаётся и ошибок из-за этого не будет.
long-animation-frame
Performance-события проходят через , как и обычные события.
beforeSend
Их можно изменить или отфильтровать: