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

Как проверить, что SDK работает? ​

  1. Включите режим отладки: data-debug="true" у script-тега или debug: true в init(). SDK будет писать в консоль, что делает: [Buglapse] ....
  2. Отправьте тестовую ошибку: Buglapse.captureException(new Error('test')).
  3. Во вкладке Network найдите запрос на https://app.buglapse.com/api/envelope и посмотрите статус ответа.

Если ответ 200 или 202, событие принято. В теле ответа видно, что с ним стало: processed, filtered, sampled, quota_exceeded.

Ответ 401 ​

Неверный DSN: ключ не совпадает ни с одним проектом. Скопируйте DSN заново из Настройки → Общие.

Ответ 403 «Origin not allowed» ​

У проекта задан список Разрешённые домены (Настройки → Безопасность и приватность), и домен страницы в него не входит. Добавьте домен — поддомены подходят автоматически.

Серверные SDK (Node.js) не отправляют заголовок Origin, поэтому с непустым списком их запросы всегда отклоняются. Держите список пустым для серверных проектов или заведите отдельный проект для бэкенда.

Ответ 429 ​

Исчерпана месячная квота этого типа событий или сработало аварийное ограничение при резком наплыве. См. Квоты и лимиты.

Запрос уходит, но событий в панели нет ​

  • Сработал фильтр. Проверьте Настройки → Фильтры: график «Отфильтровано событий» покажет, отбрасывается ли что-то. Выражение фильтра может оказаться шире, чем задумано.
  • Список отфильтрован. Проверьте строку поиска: фильтр вроде environment:production скроет события из других окружений.
  • Событие сэмплировано. При всплеске или включённой доле трейсов часть событий не сохраняется, это видно в Настройки организации → Статистика и использование.
  • Тип не входит в тариф. Например, логи или трейсы на тарифе без них отбрасываются.

Запрос вообще не уходит ​

  • Нет DSN. В консоли будет предупреждение [Buglapse] Missing or invalid "dsn".
  • Ошибку перехватил фреймворк. Express, Fastify и другие ловят ошибки в обработчиках сами — их нужно передать в captureException() из обработчика ошибок фреймворка. Во Vue используйте @buglapse/vue: ошибки внутри компонентов не доходят до window.onerror.
  • Процесс завершился раньше отправки. События отправляются пачками в фоне. Скрипт или serverless-функция должны вызвать await flush() перед выходом.
  • Запрос заблокирован расширением браузера или корпоративным прокси — проверьте вкладку Network.

Что такое «Script error.»? ​

Так браузер показывает ошибку из скрипта, загруженного с другого домена без CORS: текста и стека нет. Отдавайте такой скрипт с заголовком Access-Control-Allow-Origin и подключайте с crossorigin="anonymous". Если скрипт чужой — отфильтруйте эти ошибки, см. Фильтрация шума.

Стектрейс минифицирован ​

Не загружены source maps или релиз при загрузке не совпадает с релизом в SDK. См. Source maps.

Все ошибки приходят от одного пользователя ​

На сервере SDK видит IP вашего сервера, а не посетителя. Задайте пользователя явно — см. Пользователи и контекст.