Как проверить, что SDK работает?
- Включите режим отладки:
data-debug="true"у script-тега илиdebug: trueвinit(). SDK будет писать в консоль, что делает:[Buglapse] .... - Отправьте тестовую ошибку:
Buglapse.captureException(new Error('test')). - Во вкладке 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 вашего сервера, а не посетителя. Задайте пользователя явно — см. Пользователи и контекст.