Событие session сообщает об одном визите и о том, как он прошёл. Сессии — знаменатель здоровья релизов: доля сессий и пользователей без падений по проекту и релизу и доля сессий, которые задел инцидент.
Откуда берётся
- SessionIntegration (Browser, включена по умолчанию) — одна сессия на визит, обновляется при ошибке или падении.
- HttpServerIntegration (Node) — каждый запрос — сессия; счётчики по минутам и статусам отправляются агрегированными событиями с
quantity. - Элементы
sessionофициальных Sentry SDK, если включена интеграция Sentry, — и агрегированные элементыsessionsсерверных SDK (режим запросов: счётчики по минутам и статусам, без id сессий), каждый счётчик хранится одной строкой сquantityсессий.
Payload
json
{
"type": "session",
"timestamp": "2026-10-09T10:15:02.481Z",
"tags": {},
"contexts": { "release": "web@1.4.2", "environment": "production" },
"payload": { "sid": "e3b1…", "status": "errored", "errors": 2 }
}| Поле | Тип | Описание |
|---|---|---|
sid | string, ≤ 64 символов | Id сессии. Каждое обновление сессии несёт один и тот же. |
status | ok | errored | crashed | abnormal | errored — поймана ошибка; crashed — необработанная; abnormal — сессия неожиданно оборвалась. |
errors | integer ≥ 0 | Сколько ошибок поймано за сессию на данный момент. |
init | boolean, необязательно | Задаётся в первом обновлении сессии. |
quantity | integer 1 – 1 000 000, необязательно | Сколько сессий с этим status представляет событие — 1, если не задано. Для сервера, который только считает запросы: отправляйте по событию на статус и минуту, каждый раз с новым sid, а число — здесь. |
timestamp — время начала сессии, в каждом обновлении. Обновление никогда не улучшает сессию: сохранённый статус только ухудшается, а errors только растёт, так что обновления могут приходить в любом порядке или дважды. Сессия ok с ошибками сохраняется как errored.
Все остальные события сессии должны нести её id в contexts['session.id'].
Агрегированные сессии (quantity > 1 или sid, начинающийся с agg-) учитываются во всех итогах по сессиям и доле без падений, но в доле пользователей без падений — только если несут пользователя (contexts['user.id']), иначе они никому не принадлежат (IP отправившего их сервера — не посетитель).
Сэмплирование и квота
Сессии никогда не сэмплируются и не входят ни в одну квоту — отброшенная сессия исказила бы все доли. Хранятся они столько, сколько задаёт тариф для сессий.