Запись сессии показывает, что видел пользователь: изменения страницы, движения мыши, прокрутку и ввод. Вместо того чтобы восстанавливать шаги по логам, вы смотрите, что произошло перед ошибкой. Запись открывается прямо со страницы исключения или инцидента.
Включить
Script-тег. В Настройки → Скрипт загрузчика включите Запись сессий и задайте две доли:
- Доля сессий — какая доля всех сессий записывается с начала;
- Доля при ошибке — с какой вероятностью ошибка запускает отправку записи.
npm:
ts
import { init } from '@buglapse/browser'
import { replayIntegration } from '@buglapse/browser/integrations'
init({
dsn: '{dsn}',
integrations: [
replayIntegration({
sessionSampleRate: 0.1, // 10 % сессий целиком
onErrorSampleRate: 1, // при ошибке — всегда
}),
],
})Как это работает
- Сессия целиком. Выбранная доля сессий записывается и отправляется с самого начала.
- При ошибке. Остальные сессии записываются только в память браузера — последние ~30 секунд. Когда происходит ошибка, этот буфер отправляется, и запись продолжается дальше. Сессии без ошибок из браузера не уходят.
Если нужна запись именно перед ошибками, оставьте sessionSampleRate маленьким или нулевым, а onErrorSampleRate — равным 1. Так квота расходуется только на сессии с проблемами.
Скрыть личные данные
Значения всех полей ввода маскируются по умолчанию. Чтобы скрыть другие части страницы, добавьте элементам класс:
html
<div class="buglapse-block">Не записывается совсем — в записи будет пустое место</div>
<p class="buglapse-mask">Текст записывается звёздочками</p>Сервер записи сессий не вычищает, поэтому всё, что нельзя показывать, скрывайте этими классами. Остальное о данных — на странице Чувствительные данные.
Квота
Запись отправляется сегментами — каждые 5 секунд записи. Каждый сегмент — одно событие в месячной квоте записей. Библиотека записи (rrweb) заметно увеличивает размер бандла, поэтому при установке из npm подключайте replayIntegration только там, где записи нужны.
Все опции — в справочнике: ReplayIntegration.