# Firebase Crashlytics vs Sentry vs Tracer: технический анализ ## Быстрое сравнение | Критерий | Firebase Crashlytics | Sentry | Tracer | |----------|---------------------|--------|--------| | **Цена** | Бесплатно unlimited | 50K событий бесплатно | Бесплатно unlimited | | **Минимальная iOS** | iOS 11+ | iOS 11+ | iOS 14+ | | **iOS SDK** | Зрелый, стабильный | Отличный | Новый (1.4.0) | | **Интеграция** | 15-30 мин | 10-15 мин | 15-20 мин | | **dSYM upload** | Автомат из Xcode | Автомат из Xcode | Ручной (CI/CD) | | **SwiftUI** | Слабо | Отлично | Неизвестно | | **iOS 18** | Работает с багами | Полная поддержка | Неподтверждено | | **Breadcrumbs** | Да (с Analytics) | Да, 100 последних | Нет | | **Команда** | Unlimited | 1 место бесплатно | Unlimited | | **Alerts** | Email, Slack, Jira | Email (бесплатно) | Email, Telegram, VK | ## Firebase Crashlytics ### Технические характеристики **Интеграция:** - SPM, CocoaPods - 3-5 строк кода в AppDelegate/SwiftUI App - Build script для автозагрузки dSYM - Xcode 15+ требует Input Files в run script **Возможности:** - Полные стек-трейсы с именами файлов и строками - Custom keys (до 64KB на краш) - Breadcrumbs через Firebase Analytics - Device/OS контекст - Crash-free users процент - AI-подсказки причин (Gemini) **Алерты:** - Velocity alerts (порог 1% сессий у 25+ пользователей) - Email из коробки - Slack, Jira, PagerDuty интеграции - Webhooks через Cloud Functions (требует Blaze plan, но Crashlytics остаётся бесплатным) **Известные проблемы iOS:** 1. **iOS 17+**: системные фреймворки показываются как "Missing" или адреса памяти 2. **SwiftUI**: стек-трейсы бесполезные, только generic вызовы фреймворка 3. **iOS 18**: - Upload-symbols падает с "Bus error 10" в ~50% случаев Xcode 16 - SwiftUI previews ломаются на macOS Sequoia **Поддержка:** - SDK 12.4.0 (январь 2025) - Регулярные обновления - Активная разработка от Google ### Лимиты и цены **Полностью бесплатно:** - Unlimited краши - Unlimited пользователи - Unlimited проекты - Бессрочное хранение - Единственный лимит: 64KB custom логов на краш **Платный Blaze plan:** - Нужен только для Cloud Functions (webhooks) - Сам Crashlytics всегда бесплатен ### Плюсы - Действительно unlimited бесплатно - Зрелый продукт с массовым использованием - Интеграция с Firebase экосистемой - Надёжность Google инфраструктуры - Автоматическая загрузка dSYM ### Минусы - Проблемы с SwiftUI - iOS 17+ символизация системных фреймворков - iOS 18 баги с Xcode 16 - Без Firebase Analytics breadcrumbs слабые ## Sentry ### Технические характеристики **Интеграция:** - SPM, CocoaPods, Carthage - Sentry Wizard автонастройка: `sentry-wizard -i ios` - Ручная: 2-3 строки инициализации SentrySDK - Build script для dSYM (требует sentry-cli через Homebrew) **Возможности:** - Лучшая символизация в категории - Контекст исходного кода в стек-трейсе (с `--include-sources`) - 100 последних breadcrumbs (тапы, навигация, сеть, события) - Локальные переменные в стек-фреймах - Информация о всех потоках - Отличная SwiftUI поддержка через SentrySwiftUI - Performance monitoring интеграция - Session replays (50 на бесплатном) **Алерты:** - Email на бесплатном - Slack, PagerDuty, webhooks на Team ($26/мес) - 5 кастомных фильтров (бесплатно) - Custom dashboards на Business **iOS поддержка:** - iOS 11.0+, Swift 5.5+ - SDK 8.57.0 (октябрь 2024) - Полная iOS 18 совместимость - SwiftUI: `SentryTracedView` обёртки **dSYM особенности:** - sentry-cli обязателен - Токены с `project:write` - Xcode 14+: может потребоваться отключить "User Script Sandboxing" - Bitcode: dSYM из App Store Connect после рекомпиляции Apple ### Лимиты и цены **Developer (Free):** - 50,000 событий/месяц - 10M performance spans - 50 session replays - 30 дней хранения - **1 пользователь** (критично!) - Только email-алерты - Базовый поиск **Квота:** - После исчерпания события отбрасываются до следующего месяца - 3-дневная grace period один раз (10K событий/час) **Team ($26/мес):** - Всё из Free - Unlimited пользователи - Slack, webhooks - Расширенный поиск **Business ($80/мес):** - Custom dashboards - IP filtering - Priority support - Advanced features ### Плюсы - Лучшее качество отчётов о крашах - Отличная SwiftUI поддержка - Open-source (MIT), можно self-host - 50K событий — достаточно для средних приложений - Активное комьюнити (125+ contributors, 5K+ commits) - Performance monitoring включён ### Минусы - **1 пользователь на бесплатном** — для команды нужен платный - Квота жёсткая — после 50K отбрасывает события - dSYM upload сложнее, чем у Firebase - Нужен sentry-cli - Могут быть проблемы с Xcode sandbox ## Tracer (OK.Tech) ### Технические характеристики **Интеграция:** - CocoaPods, SPM - 3-4 строки кода - SPM требует unsafe linker flag: `-weak-lswiftDemangle` - Два токена: appToken (SDK) + pluginToken (символы) **Возможности:** - Краши и ANR - **Real-time memory leak detection** (уникально!) - **Heap dump анализ для OOM** (уникально!) - Disk usage мониторинг - Systrace profiling - Sampling profiler - MetricKit полная интеграция (iOS 14+): - UI hangs - CPU diagnostics - Disk activity - Launch times - Альтернативное обнаружение крашей Apple - Crash-free метрики по сессиям (несколько устройств на пользователя) **Что отсутствует:** - Нет breadcrumbs - Нет скриншотов на краш - Нет логов сетевых запросов в контексте краша - Нет интеграций с Jira/GitHub - Нет Slack (только Email, Telegram, VK Teams) - Нет real-time push алертов **iOS поддержка:** - SDK 1.4.0 - iOS 14+ (для MetricKit) - **iOS 18 не подтверждён явно** - SwiftUI: нет специфичной документации, но Swift-based - GitHub: 1 звезда, 0 форков — практически нет внешних пользователей **dSYM upload:** - **Только вручную** через CI/CD - Fastlane plugin или bash-скрипт - Нет автозагрузки из Xcode - Детали символизации не документированы **Алерты:** - Email - Telegram - VK Teams ### Лимиты и цены **Полностью бесплатно:** - Unlimited события - Unlimited пользователи - Unlimited проекты - Нет ограничений на хранение - Нет документированных квот **Будущие планы:** - Возможная платная версия для on-premises - Конкретики нет ### Плюсы - **Unlimited бесплатно** (как Firebase) - **Уникальные фичи:** - Real-time memory leak detection - Heap dump анализ OOM - Systrace profiling - Sampling profiler - Полная MetricKit интеграция - Проверен на масштабе VK (100M+ пользователей) - Telegram алерты ### Минусы - **Нет breadcrumbs** — критично для понимания контекста краша - **Ручной dSYM upload** — только через CI/CD - **iOS 18 не подтверждён** - **SwiftUI поддержка неясна** - **Нулевое внешнее комьюнити** (1 звезда GitHub) - Нет Slack интеграции - Нет скриншотов/network logs - Новый продукт (сентябрь 2023), меньше battle-tested для внешних команд ## Детальное сравнение фич ### Качество crash reports **Firebase Crashlytics:** - Стандартные стек-трейсы ✅ - Имена файлов + строки ✅ - Custom keys ✅ (64KB лимит) - Device context ✅ - Breadcrumbs ⚠️ (требует Analytics) - Локальные переменные ❌ - SwiftUI качество ❌ (плохо) - iOS 17+ системные фреймворки ❌ **Sentry:** - Стандартные стек-трейсы ✅ - Имена файлов + строки ✅ - Контекст исходного кода ✅ (лучшее) - Custom keys ✅ - Device context ✅ - Breadcrumbs ✅ (100 последних, автомат) - Локальные переменные ✅ - SwiftUI качество ✅ (отлично) - iOS 17+ ✅ **Tracer:** - Стандартные стек-трейсы ✅ - Имена файлов + строки ✅ (предположительно) - Custom keys ✅ (не документировано) - Device context ✅ - Breadcrumbs ❌ - Локальные переменные ❓ - SwiftUI качество ❓ - iOS 17+ ❓ ### Уникальные возможности **Firebase:** - AI-powered crash insights (Gemini) - Глубокая интеграция с Firebase экосистемой **Sentry:** - Контекст исходного кода в трейсах - Performance monitoring включён - Session replays - Open-source, self-hosting - 50+ языков поддержки **Tracer:** - **Real-time memory leak detection** - **Heap dump анализ OOM** - **Systrace profiling** - **Sampling profiler** - Самая полная MetricKit интеграция - Crash-free метрики по сессиям ### Dashboard и поиск **Firebase:** - Базовая группировка ✅ - Фильтры (версия, устройство, ОС) ✅ - Velocity alerts ✅ - Timeline ⚠️ (простой) - Кастомные дашборды ❌ - Advanced search ❌ **Sentry:** - Умная группировка по корневой причине ✅ - Фильтры ✅ (5 кастомных на free) - Timeline ✅ (интерактивный) - Stability Center ✅ - Search/filtering ✅ (мощный) - Кастомные дашборды 💰 (Business) **Tracer:** - Группировка ✅ - Фильтры ✅ - Timeline ❓ - Dashboard ✅ - Advanced features ❓ ### Интеграции **Firebase:** - Slack ✅ - Jira ✅ - PagerDuty ✅ - Webhooks ✅ (через Cloud Functions) - BigQuery экспорт ✅ **Sentry:** - Slack 💰 (Team plan) - Jira 💰 - GitHub 💰 - PagerDuty 💰 - Webhooks 💰 - 100+ интеграций на платных планах **Tracer:** - Telegram ✅ - VK Teams ✅ - Email ✅ - Slack ❌ - Jira ❌ - Webhooks ❌ ### Командная работа **Firebase:** - Unlimited пользователи ✅ - Role-based access ✅ - Проектные разрешения ✅ **Sentry:** - 1 пользователь (free) ⚠️ - Unlimited на Team ($26) ✅ - Granular permissions 💰 **Tracer:** - Unlimited пользователи ✅ - Team management ✅ - Permissions ❓