Ошибки (error_batch)

warning #EF4444

Тип error_batch — для отслеживания JS-ошибок на сайте. Не создаёт уведомлений в ленте входящих. Ошибки агрегируются сервером и доступны на дашборде ошибок.

Как работает

  1. SDK перехватывает все JS-ошибки (window.onerror, unhandledrejection)
  2. Ошибки сохраняются в localStorage браузера (с метаданными: страница, стек-трейс, время)
  3. При закрытии вкладки — все накопленные ошибки одной пачкой уходят на сервер
  4. Сервер сохраняет сырые ошибки в базу, классифицирует по severity
  5. После 10 минут без новых ошибок — агрегированный push: «47 ошибок на сайте»
  6. Push ведёт на дашборд ошибок (не на уведомление)

Почему не в ленте

Ошибки могут генерироваться десятками в минуту. Если бы каждая создавала уведомление в ленте — вы бы утонули в спаме. Вместо этого:

JS SDK — автоматический сбор

<script src="https://notix-hub.ru/js/notify.js"
        data-token="ntx_..."
        data-errors="true"></script>

SDK автоматически: перехватывает window.onerror и unhandledrejection, сохраняет в localStorage, отправляет при закрытии вкладки. Никакого кода писать не нужно.

JS SDK — ручное включение

const notix = new Notix({
  token: 'ntx_...',
  errorTrackingEnabled: true
});

Что собирается

ПолеОписание
messageТекст ошибки («Failed to fetch», «TypeError: …»)
fileФайл, в котором произошла ошибка
line / colСтрока и колонка
stackПолный стек-трейс
sourceТип: onerror (синхронные) или unhandledrejection (промисы)
tsISO-время ошибки
pageURL страницы, где произошла ошибка

Дашборд ошибок

GET

/api/v1/analytics/errors
РазделЧто показывает
SummaryВсего ошибок, уникальных, health_score (0—100), critical/warning
TimelineПочасовой график ошибок за период
Top ErrorsТоп-10 ошибок по частоте, с трендом (↑/↓/→) и sample_stack
SeverityРазбивка: critical, warning, info
BenchmarkВаш error rate vs средний по индустрии

Классификация severity

Ключевые словаSeverity
Failed to fetch, NetworkError, SyntaxError, TypeErrorcritical
Timeout, Unhandled rejection, Not Found, Unauthorizedwarning
Всё остальноеinfo

Health Score

Формула: 100 - (error_rate × 200) - (critical_count × 5)

ДиапазонЛейбл
90—100Отлично
70—89Хорошо
50—69Требует внимания
<50Критично

Рекомендация

Включайте data-errors="true" на всех страницах сайта. Ошибки собираются незаметно, не влияют на производительность, и вы узнаете о проблемах до того, как их заметят пользователи.