Table of contents

Breadcrumbs

Breadcrumbs — хронологический след действий и событий до ошибки. Они прикрепляются к ивенту в Хоуке и помогают понять что происходило перед падением: HTTP-запросы, навигация в SPA, клики, свои шаги в коде.

  • Контекст сценария: стек показывает место ошибки, breadcrumbs — путь пользователя и приложения к этой точке.
  • Меньше ручной работы: запросы, переходы и клики в браузере можно собирать автоматически.
  • Бизнес-логика: через add() фиксировать этапы сценария там, где автоматика не подходит.
import HawkCatcher from '@hawk.so/javascript'; const hawk = new HawkCatcher({ token: 'INTEGRATION_TOKEN', breadcrumbs: { // Опционально: явная настройка (по умолчанию breadcrumbs уже включены) maxBreadcrumbs: 15, trackFetch: true, trackNavigation: true, trackClicks: true, beforeBreadcrumb(breadcrumb, hint) { return breadcrumb; }, }, });

Отключить полностью:

const hawk = new HawkCatcher({ token: 'INTEGRATION_TOKEN', breadcrumbs: false, });

Параметры breadcrumbs в init:

Параметр Назначение
maxBreadcrumbs Лимит буфера (по умолчанию 15).
beforeBreadcrumb Хук перед сохранением записи.
trackFetch Автосбор fetch и XHR (по умолчанию true).
trackNavigation Автосбор навигации (History API, popstate; по умолчанию true).
trackClicks Автосбор кликов по UI (по умолчанию true).

beforeBreadcrumb

Вызывается перед попаданием записи в буфер. Вторым аргументом приходит hint — контекст источника (например, данные запроса/ответа для fetch, DOM-событие для клика).

вернуть breadcrumb (можно изменённый) — запись сохранится в таком виде;

вернуть false — запись не сохраняется;

иной результат — поведение зависит от версии SDK (часто сохраняется исходная запись с предупреждением в консоль); ориентируйтесь на контракт в документации пакета.

hawk.breadcrumbs.add(/* … */);- добавляет одну запись в буфер цепочки (с учётом beforeBreadcrumb, санитизации и лимита FIFO).

hawk.breadcrumbs.get();- возвращает копию всех записей в буфере, от старых к новым.

hawk.breadcrumbs.clear();- очищает буфер цепочки в памяти страницы.

По умолчанию хранится до 15 записей (FIFO): при переполнении удаляются самые старые. После отправки события буфер сам не очищается — при необходимости вызывайте clear().

Автосбор покрывает сеть, навигацию и клики. Остальное (шаги сценария, ветвления, важные состояния) добавляйте сами:

hawk.breadcrumbs.add({ type: 'logic', category: 'checkout', message: 'Payment form submitted', level: 'info', data: { step: 2 }, });

Цепочка breadcrumbs отображается в карточке события вместе с ошибкой — так вы связываете стек с тем, что пользователь делал до падения.