Breadcrumbs
Breadcrumbs — хронологический след действий и событий до ошибки. Они прикрепляются к ивенту в Хоуке и помогают понять что происходило перед падением. В Node.js нет автоматического сбора как в браузере (сеть, SPA-навигация, клики) — цепочку строите через HawkCatcher.breadcrumbs.add().
- Контекст сценария: стек показывает место ошибки, breadcrumbs — путь выполнения к этой точке
-
Прозрачность серверного потока: шаги фиксируются там, где вы явно вызываете
add()
- Бизнес-логика: этапы сценария, идентификаторы сущностей (без секретов и лишнего PII)
Инициализация — HawkCatcher.init() (singleton). До init() буфер breadcrumbs по сути не используется.
Отключить полностью:
Параметры breadcrumbs при init
В Node доступны только два поля. Полей trackFetch, trackNavigation, trackClicks (как в браузерном SDK) нет.
| Параметр | Назначение |
maxBreadcrumbs
|
Лимит буфера (по умолчанию 15). При переполнении удаляются самые старые записи (FIFO) |
beforeBreadcrumb
|
Хук перед сохранением записи в буфер |
beforeBreadcrumb
Вызывается перед попаданием записи в буфер. Второй аргумент hint — ваш контекст: при add(breadcrumb, hint) вы сами передаёте то, что нужно в хуке; SDK в Node сам не заполняет hint из DOM/Response.
вернуть breadcrumb (можно изменённый) — запись сохранится в таком виде;
вернуть false — запись не сохраняется;
любой иной результат — сохраняется исходная запись, в консоль пишется предупреждение.
Методы на HawkCatcher.breadcrumbs (статические). Если breadcrumbs: false или init() не вызывали, add / clear по сути no-op, get() вернёт пустой массив.
HawkCatcher.breadcrumbs.add(breadcrumb, hint?) — добавить запись (учитываются beforeBreadcrumb и лимит).
HawkCatcher.breadcrumbs.get() — копия записей от старых к новым.
HawkCatcher.breadcrumbs.clear() — очистить буфер в памяти процесса.
По умолчанию до 15 записей (FIFO). После отправки события буфер сам не очищается — при необходимости вызывайте clear().
Ручная запись
Цепочка breadcrumbs отображается в карточке ивента вместе с ошибкой.