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

Обзор ​

Одно число ошибок не говорит, насколько всё плохо: 100 ошибок на 200 визитов и на 200 000 — очень разные релизы. Сессии дают ошибкам знаменатель. Браузерный SDK ведёт одну сессию на визит и сообщает, прошла ли она нормально, с ошибкой (поймана ошибка) или упала (необработанная ошибка). Из этого панель вычисляет:

  • Сессии без падений — долю сессий, которые не упали.
  • Пользователи без падений — долю пользователей, ни одна сессия которых не упала. Пользователь — тот, кого вы определили через setUser() (см. Пользователи), иначе — сессия.

Сессии бесплатны — они не входят ни в одну квоту и не сэмплируются.

Включение ​

Ничего делать не нужно: SessionIntegration включена по умолчанию — и для script-тега, и для npm-пакета. Задайте release (и environment) в init(), чтобы числа можно было сравнивать по версиям:

ts
import { init } from '@buglapse/browser'

init({
    dsn: '{dsn}',
    release: 'web@1.4.2',
    environment: 'production',
})

Со script-тегом используйте data-release / data-environment у элемента <script>.

Как устроена сессия ​

  • Она начинается при инициализации SDK и хранится в localStorage, так что перезагрузки и новые вкладки того же сайта её разделяют.
  • Она заканчивается после 30 минут бездействия — следующее событие или переход в SPA после этого начинает новую. Если localStorage недоступен (приватный режим, заблокированное хранилище), сессия длится, пока открыта страница.
  • Ошибка, о которой вы сообщаете через captureException(), делает её errored; необработанная ошибка или отклонённый промис (GlobalErrorIntegration) — crashed. Страница, ушедшая без чистого завершения, — упавшая вкладка, принудительно закрытый браузер — делает её abnormal (см. Аварийные завершения). Лучше сессия уже не становится.
  • Каждое другое событие несёт id сессии в contexts['session.id'].

getSessionId() возвращает текущий id — например, чтобы передать визит на ваш бэкенд.

Где смотреть ​

  • Сессии в боковом меню проекта: доля сессий и пользователей без падений, число сессий и пользователей, график здоровых / с ошибкой / упавших сессий и релизы с наибольшим числом сессий с их распространённостью (долей всех сессий) и долей без падений. Период (от 24 часов до 30 дней) и окружение выбираются вверху.
  • Релизы: список показывает долю сессий без падений каждого релиза; страница релиза — его здоровье за всю жизнь.
  • Инциденты: страница инцидента показывает долю сессий проекта, в которых он встречался с момента появления.
  • Обзор: панель Сессии показывает последние 24 часа; карточки проектов на главной — долю сессий без падений каждого проекта.

Алерты ​

Когда доля сессий без падений за последний час опускается ниже 98 % (при минимум 50 сессиях за этот час), проект создаёт алерт Падение crash-free — не чаще раза в сутки. Он включается и выключается вместе с другими типами алертов в настройках Алерты проекта. См. Алерты и уведомления.

Метрики спанов ​

Ищете числовые значения, привязанные к спанам (span.metric())? См. Метрики спана.