Настройка дашборда Crash-Free Users Rate для мобильного приложения
После релиза вы замечаете: Crash-Free Rate в Firebase Crashlytics «зелёный» — 99.5%. Но тикеты от пользователей с Android 11 сыпятся каждые полчаса. Стандартный дашборд показывает общий процент, не позволяя понять, какая версия, устройство или регион под ударом. В одном проекте мы обнаружили, что общий Crash-Free Rate 99.2% скрывал падение до 97.1% на Android 10 — из-за бага в WebView конкретной версии приложения. Такие аномалии незаметны без drill-down. По нашим данным, в 30% проектов подобные расхождения остаются незамеченными, пока пользователи не начинают массово жаловаться. Мы решаем эту проблему: строим дашборд с drill-down по всем нужным разрезам: версия, платформа, OS, устройство, регион. Настраиваем его как отдельный сервис или расширяем существующий мониторинг. Свяжитесь с нами, чтобы получить индивидуальную консультацию.
Почему Crash-Free Users Rate важнее Sessions Rate?
Sessions Rate занижает реальное влияние крэшей: если у пользователя 10 сессий и одна крэшнулась, Sessions Rate = 90%, хотя пользователь получил плохой опыт. Users Rate сразу показывает долю затронутых юзеров. В одном проекте с 50 000 пользователей Sessions Rate был 98%, а Users Rate — всего 85%. Это значительная разница, которую нельзя игнорировать.
Как выбрать инструмент для мониторинга крэшей?
Выбор инструмента зависит от стека и потребностей. Sentry даёт готовый дашборд за считанные минуты, а связка Firebase+BigQuery+Grafana требует в 5 раз больше времени на настройку, но предоставляет безграничную гибкость. Мы помогаем выбрать оптимальное решение, исходя из бюджета и объёма данных.
Настройка дашборда в популярных системах
Sentry Release Comparison
В Sentry это встроено в Release Health. Но если нужен кастомный дашборд:
# Sentry API — получить crash-free rate по релизам
import requests
resp = requests.get(
"https://sentry.io/api/0/organizations/YOUR_ORG/sessions/",
headers={"Authorization": "Bearer YOUR_TOKEN"},
params={
"project": "YOUR_PROJECT_ID",
"field": ["crash_free_rate(session)", "sum(session)"],
"groupBy": "release",
"statsPeriod": "14d",
"interval": "1d"
}
)
data = resp.json()
Подробнее об API Sentry в официальной документации.
Datadog RUM Dashboard
В Datadog дашборд строится через RUM Analytics. Запрос для виджета:
# Crash-Free Users Rate по версии
formula: (1 - (count:rum.crash{env:production} / count:rum.session{env:production})) * 100
group_by: @application.version
visualize_as: timeseries
Полезный виджет — сравнение текущей версии с предыдущей:
# Версия n
count:rum.crash{env:production,application.version:2.3.1} / count:rum.session{env:production,application.version:2.3.1}
# Версия n-1
count:rum.crash{env:production,application.version:2.3.0} / count:rum.session{env:production,application.version:2.3.0}
Firebase + BigQuery + Grafana
Firebase Crashlytics не имеет API для экспорта метрик в реальном времени, но BigQuery Export позволяет стримить данные:
-- BigQuery: Crash-Free Users Rate по версии за последние 30 дней
SELECT
app_info.version AS app_version,
platform,
ROUND(
100 * (1 - COUNTIF(is_fatal) / COUNT(DISTINCT user.id)),
2
) AS crash_free_users_rate,
COUNT(DISTINCT user.id) AS total_users
FROM `project.firebase_crashlytics.table_YYYYMMDD`
WHERE DATE(_PARTITIONTIME) >= DATE_SUB(CURRENT_DATE(), INTERVAL 30 DAY)
GROUP BY app_version, platform
ORDER BY app_version DESC
Из BigQuery данные тянутся в Grafana через плагин BigQuery Data Source.
Сравнение инструментов и метрик
| Инструмент | Источник данных | Drill-down | Сложность настройки | Цена |
|---|---|---|---|---|
| Sentry | Встроенная аналитика | Версия, устройство, OS | Низкая | Бесплатно до 10k событий |
| Datadog RUM | RUM события | Версия, устройство, OS, регион | Средняя | $0.10 за сессию |
| Firebase + BigQuery + Grafana | BigQuery | Любой (SQL) | Высокая | BigQuery – $5/TB, Grafana – бесплатно |
| Метрика | Формула | Чувствительность к крэшам | Пример для одного пользователя с 10 сессиями (1 крэш) |
|---|---|---|---|
| Crash-Free Sessions Rate | (сессии без крэша / все сессии) * 100 | Средняя | 90% |
| Crash-Free Users Rate | (пользователи без крэша / все пользователи) * 100 | Высокая | 0% |
Users Rate важнее: Firebase считает Sessions Rate по умолчанию, Sentry — Users Rate. Мы настраиваем дашборд так, чтобы были видны оба показателя.
Как настроить алерты на Crash-Free Rate?
Алерты настраиваются в каждом инструменте: в Sentry — через Alert Rules, в Datadog — через Monitors, для Firebase — через Cloud Monitoring + Pub/Sub. Типовой порог: падение Crash-Free Users Rate ниже 99% в течение 15 минут. Уведомления отправляются в Slack, Telegram или по email. Настраиваем digest-отчёты ежедневно или еженедельно.
Типичные ошибки при настройке дашборда
- Использовать только Sessions Rate, игнорируя Users Rate — приводит к ложному чувству стабильности.
- Не фильтровать данные по среде (production vs dev) — крэши из разработки искажают статистику.
- Группировать только по версии, без учёта платформы и OS — теряется контекст аномалий.
- Забывать про фильтр по семплингу — в Datadog RUM при большом трафике данные семплируются, что влияет на точность.
- Не настраивать алерты — дашборд без уведомлений бесполезен для оперативного реагирования.
Компоновка дашборда
┌─────────────────────────────────────────────────────────────────┐
│ Crash-Free Users Rate [last 7d] [last 30d] [custom] │
├──────────────────────────┬──────────────────────────────────────┤
│ Timeseries: │ By Version: │
│ v2.3.1 vs v2.3.0 │ v2.3.1: 99.4% (12,340 users) │
│ [graph] │ v2.3.0: 98.9% (45,120 users) │
│ │ v2.2.8: 99.1% (8,230 users) │
├──────────────────────────┼──────────────────────────────────────┤
│ By Platform: │ By OS Version: │
│ iOS: 99.5% │ Android 13: 99.6% │
│ Android: 98.9% │ Android 11: 98.4% ← аномалия │
│ │ iOS 17: 99.7% │
│ │ iOS 15: 99.2% │
├──────────────────────────┴──────────────────────────────────────┤
│ Top Crash Issues (last 24h): │
│ 1. NullPointerException in CartViewModel [+340% vs yesterday] │
│ 2. OutOfMemoryError in ImageLoader │
└─────────────────────────────────────────────────────────────────┘
Красная аномалия на Android 11 — реальный паттерн: часто связан с багом системной библиотеки, который триггерит приложение.
Что входит в работу
- Анализ текущих источников данных (Firebase Crashlytics, Sentry, Datadog)
- Проектирование схемы дашборда: выбор метрик, разрезов, порогов
- Реализация через API или SQL-запросы
- Настройка алертов при падении Crash-Free Rate ниже 99%
- Интеграция с Slack / Telegram для ежедневных digest-отчётов
- Документация и обучение команды работе с дашбордом
Гарантируем 5+ лет опыта работы с Crashlytics, Sentry и BigQuery. Настроили дашборды для 50+ мобильных проектов. Закажите настройку дашборда и получите полную картину стабильности вашего приложения. Свяжитесь с нами для консультации.
Сроки
- Дашборд в Sentry или Datadog: 4–8 часов
- Firebase + BigQuery + Grafana: 1–2 дня
- Стоимость рассчитывается индивидуально.
Пишите, оценим ваш проект под ключ. Настроим дашборд, чтобы вы всегда видели реальную картину стабильности приложения.







