Термины
Короткий словарь понятий Gotcha — от организаций и проектов до профилей и квот. Там, где у термина есть отдельная страница с подробностями, дана ссылка.
Организация (organization) — верхний уровень: объединяет проекты, участников (с ролями) и общие настройки (лимиты приёма, SSO, шаблоны каналов оповещений). Пользователь может состоять в нескольких организациях. Создаётся вместе с первым проектом на /onboarding.
Проект (project) — отдельное приложение или сервис внутри организации. У каждого проекта свой набор DSN-ключей, свои проблемы, транзакции, метрики, профили и настройки (семплирование, пороги регрессий, ретенция). События из двух разных проектов никогда не смешиваются.
Команда (team) — группа участников организации с общим доступом к подмножеству проектов. Используется, чтобы не выдавать права «на всю организацию» каждому, кому нужен доступ лишь к паре проектов.
Оператор (operator) — участник команды, привязанной к проекту (owner/admin организации тоже автоматически считаются операторами). Оператор может вести повседневный мониторинг проекта — мониторы, окна обслуживания, контент статус-страниц, правила оповещений по проблемам и по метрикам, эскалации, подавление шторма по зависимостям, SLO, рецепты сервисов, пороги и группы хостов, подтверждение (ack) инцидентов, выгрузки (только свои) — не будучи повышенным до admin организации. Каналы оповещений, публикация статус-страницы и настройки проекта/организации остаются доступны только owner/admin; у оператора, не являющегося owner/admin, получатели каналов оповещений замаскированы. Полная таблица действий: Команды и роли.
DSN — строка подключения проекта вида https://<public_key>@<адрес_gotcha>/<id_проекта>, которую вы передаёте в SDK при инициализации. Содержит публичный ключ (по нему Gotcha определяет проект и организацию) и адрес приёма событий; секретной части, в отличие от старого формата Sentry DSN, нет. Найти и перевыпустить DSN можно в «Настройках проекта» или на странице «Подключение» — см. SDK и интеграции.
Событие (event) — один конкретный случай: ошибка со стектрейсом, уровнем, тегами, контекстом, данными пользователя и SDK, присланная в Gotcha по протоколу приёма Sentry. Несколько событий с одинаковым фингерпринтом схлопываются в одну проблему.
Проблема (issue) — группа одинаковых событий, сведённых по фингерпринту: одна карточка вместо потока дублей. У проблемы есть статус (не решено/решено/игнорируется), ответственный и счётчик количества событий. Подробнее: Проблемы.
Группировка / фингерпринт (fingerprint) — ключ группировки событий в проблему, вычисляемый по типу ошибки, сообщению и месту в коде (стеку вызовов). Новое событие с уже встречавшимся фингерпринтом увеличивает счётчик существующей проблемы; с новым — открывает новую проблему (или переоткрывает решённую — это и есть регрессия).
Транзакция (transaction) — единица производительности: один обработанный запрос или операция целиком, с общей длительностью и статусом. Отправляется SDK, если включён трейсинг (traces_sample_rate/tracesSampleRate > 0). Подробнее: Производительность.
Трейс (trace) — сквозная цепочка связанных транзакций и спанов одного запроса, в том числе через границы сервисов (если trace_id прокидывается между ними). Из детали проблемы можно перейти к связанному трейсу, если ошибка произошла внутри отслеживаемого запроса.
Спан (span) — вложенный отрезок внутри транзакции: запрос к БД, HTTP-вызов к другому сервису, рендер шаблона и т. п. Транзакция — это, по сути, корневой спан плюс дерево дочерних.
Web Vitals — метрики скорости страницы, измеренные в браузере реального пользователя: LCP, INP, CLS, FCP, TTFB. Показываются с перцентилем p75 и рейтингом good/needs-improvement/poor. Собираются браузерным SDK автоматически при включённом трейсинге. Подробнее: вкладка Web Vitals в Производительности.
Метрика (metric) — числовой временной ряд (counter/gauge/histogram) с произвольными лейблами (окружение, релиз, регион и т. п.), присланный по протоколу OTLP. Для просмотра доступны агрегации p50/p95/avg/sum за период. Подробнее: Метрики.
Профиль (profile) / флеймграф (flame graph) — снимок того, куда уходит процессорное время или время выполнения внутри приложения во время реального запроса, собранный SDK (Sentry-профилирование) или загруженный напрямую в формате pprof. Флеймграф визуализирует профиль как стек вызовов: ширина блока — доля времени, вложенность — глубина вызова. Подробнее: Профилирование.
Монитор (uptime monitor) — периодическая проверка доступности эндпойнта (HTTP/TCP/DNS/heartbeat) по расписанию. При нескольких подряд неудачных проверках открывается инцидент. Подробнее: Аптайм.
Инцидент (incident) — период, когда монитор или показатель регрессии считается «упавшим»: имеет начало, (опционально) конец и историю проверок/событий внутри. По инциденту может сработать оповещение и обновиться публичная статус-страница.
Группа инцидентов (incident group) — инциденты нескольких источников (хосты, аптайм, metric-пороги с меткой host, SLO типа uptime), чьи узлы связаны с одним корневым инцидентом цепочкой упавших зависимостей. Пока корень открыт и информирует, участники группы не шлют собственных уведомлений — дежурный видит одно сообщение вместо шторма. Подробнее: Группы инцидентов.
Корневой инцидент (root incident) — инцидент недоступности узла (тишина хоста или падение uptime-монитора), вокруг которого строится группа инцидентов; пороговые инциденты хоста (диск/память/нагрузка) корнем не становятся. Подробнее: Группы инцидентов.
Канал оповещения (alert channel) — способ доставки уведомления: email, webhook или Telegram-бот. Настраивается один раз в проекте и переиспользуется в нескольких правилах.
Правило оповещения (alert rule) — условие, при котором нужно сработать: новая проблема, регрессия (проблема снова открылась), всплеск ошибок за окно времени или превышение порога по метрике. Отдельного шага «привязать канал к правилу» нет: включённое правило уведомляет все включённые каналы проекта разом; срабатывания одного правила троттлятся, чтобы не заваливать команду дублями. Подробнее: Оповещения.
Регрессия (regression) — статистически значимое ухудшение показателя (латентности эндпойнта, Web Vitals, времени в профиле) относительно базовой линии за предыдущий период, обнаруженное автоматически. Регрессии производительности показываются как проблемы в Производительности.
Ретенция (retention) — срок, в течение которого данные конкретного вида (события/транзакции, спаны трейсов, метрики, профили) хранятся в ClickHouse, прежде чем удаляются. Задаётся на уровне инстанса переменными GOTCHA_EVENT_RETENTION_DAYS и соседними; пер-проектной настройки нет — карточка «Хранение данных» в настройках проекта показывает значение инстанса, но не меняет его.
Квота (quota) — месячный лимит на приём определённого вида данных (события, транзакции, метрики, профили) на организацию. Считается за элемент, а не за HTTP-запрос: конверт с тысячей событий тратит до тысячи единиц. Если до квоты осталось меньше, чем в пачке, принимается остаток, а лишнее отбрасывается и попадает в счётчик отклонённого. Списывается за то, что реально встало в очередь на запись, а не просто присутствовало в запросе: элемент, отклонённый из-за нехватки собственной ёмкости приёмника (перегруженный буфер записи), квоту не расходует — списанное за него возвращается организации; элемент, отброшенный по вине клиента (битый payload) или намеренно не отобранный (семплирование трейсов), квоты не касается вовсе. При исчерпании квоты новые единицы этого вида отклоняются (ingest отвечает 429) до начала следующего месяца; уже принятые данные не удаляются. Настраивается в «Настройках организации → Использование и лимиты»; 0 означает «без ограничений».
Окружение (environment) — произвольная строка (production, staging, dev…), которую SDK прикладывает к каждому событию, транзакции и метрике. Используется для фильтрации почти во всех разделах — так продовые ошибки не тонут среди локальной разработки.
Релиз (release) — идентификатор версии приложения (например, git-хэш или номер сборки), который SDK прикладывает к событиям и транзакциям. Позволяет увидеть, в каком релизе появилась проблема или произошла регрессия производительности.