Налаштування дашборду 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 за всіма потрібними розрізами: версія, платформа, ОС, пристрій, регіон. Налаштовуємо його як окремий сервіс або розширюємо існуючий моніторинг. Зв'яжіться з нами, щоб отримати індивідуальну консультацію.
Чому 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 | Вбудована аналітика | Версія, пристрій, ОС | Низька | Безкоштовно до 10k подій |
| Datadog RUM | RUM події | Версія, пристрій, ОС, регіон | Середня | $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) — кріші з розробки спотворюють статистику.
- Групувати лише за версією, без урахування платформи та ОС — втрачається контекст аномалій.
- Забувати про фільтр за семплінгом — у 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 дні
- Вартість розраховується індивідуально.
Пишіть, оцінимо ваш проєкт під ключ. Налаштуємо дашборд, щоб ви завжди бачили реальну картину стабільності додатку.







