Bugsnag: co to je, sledování chyb a sběr dat

Autor: IT Sectr Publikováno: 2026-05-29 Doba čtení: 8 min

Bugsnag je platforma pro monitorování chyb a stability aplikací, která automaticky odhaluje, seskupuje a priorizuje chyby v produkčním prostředí s úplným diagnostickým kontextem. Podle Bugsnag Documentation, 2025 zpracovává Bugsnag měsíčně 6 miliard událostí pro více než 7 000 klientů, včetně Airbnb, Lyft, Slack a PagerDuty.

Hlavní body

  • Bugsnag — platforma error monitoring s automatickým seskupováním chyb, prioritizací podle severity a integrací s CI/CD.
  • Stability Score — metrika podílu relací bez chyb, která zobrazuje celkovou stabilitu aplikace v procentech.
  • Severity-based triage — automatické rozdělení chyb na critical, warning a info pro zaměření týmu na důležité věci.
  • Breadcrumbs — záznam posloupnosti událostí před chybou s podporou vlastních atributů od vývojáře.
  • Release tracking — propojení chyb s konkrétní verzí aplikace a automatické upozornění při nárůstu počtu crashů po vydání.

Co je Bugsnag ve vývoji

Bugsnag je platforma pro monitorování stability aplikací, založená v roce 2013 a zakoupená společností SmartBear v roce 2019. Hlavní rozdíl Bugsnagu od konkurentů je zaměření na stabilitu jako klíčovou metriku produktu, nikoli pouze na počet chyb. Platforma poskytuje jednotný dashboard pro iOS, Android, React Native, Flutter, web a backendové služby.

Každá chyba v Bugsnagu získává automatické hodnocení severity (critical, warning, info) na základě kontextu: zda došlo k crashi aplikace, zda je ovlivněna platební funkce, zda se chyba opakuje pro mnoho uživatelů. Tým vidí nejen seznam chyb, ale priorizovaný backlog s uvedením dopadu na byznys.

Podle SmartBear (2024) zkracují týmy používající Bugsnag průměrnou dobu řešení incidentů o 40% díky automatickému seskupování duplikátů a úplnému kontextu každé události. Platforma se integruje se Slack, PagerDuty, Jira, GitHub a GitLab pro automatické vytváření úkolů souvisejících s chybami.

Stability Score a automatická prioritizace

Stability Score — klíčová metrika Bugsnagu, která ukazuje procento relací dokončených bez chyb. Hodnota se vypočítá jako poměr počtu relací bez crashů k celkovému počtu relací v období. Skóre 99,9% znamená, že 1 z 1000 relací obsahuje chybu.

Prahové hodnoty Stability Score jsou integrovány s CI/CD: pokud po nasazení nové verze skóre klesne pod nastavenou hranici (např. 99,5%), Bugsnag automaticky zablokuje vydání nebo odešle kritické upozornění na Slack. Release health dashboard ukazuje dynamiku skóre pro každou verzi aplikace, což umožňuje sledovat dopad konkrétní změny na stabilitu.

Severity-based triage

Bugsnag používá algoritmus automatické klasifikace chyb do tří úrovní severity. Critical — crashy aplikace, chyby v platebních scénářích postihující více než 5% uživatelů. Warning — nefatální chyby (handled exceptions) ovlivňující jednotlivé funkce. Info — logy, upozornění s nízkou prioritou. Tento přístup zabraňuje „únavě z alertů", když stovky upozornění znemožňují soustředit se na skutečně kritické problémy.

SeverityPříkladAkce
CriticalCrash při vstupu do aplikaceOkamžité upozornění
WarningChyba při načítání avataruÚkol v Jira na příští sprint
InfoTime-out při skenování QRLogování bez upozornění

Připojení Bugsnag SDK pro mobilní platformy

Instalace Bugsnag SDK trvá 5 minut: přidání závislosti a inicializace s API klíčem projektu. Bugsnag Android SDK podporuje Kotlin a Java, automaticky zachycuje Java výjimky, ANR a nativní (C/C++) chyby prostřednictvím signálů.

Konfigurace na Androidu

SDK se připojuje přes Gradle a inicializuje se v Application.onCreate. Bugsnag automaticky sbírá informace o zařízení: model, verze OS, volná paměť, úroveň baterie. Auto-notify je ve výchozím nastavení zapnuto a odesílá všechny neošetřené výjimky na server Bugsnag.

kotlin
import com.bugsnag.android.Bugsnag
import com.bugsnag.android.Configuration

class App : Application() {
    override fun onCreate() {
        super.onCreate()
        val config = Configuration("YOUR_API_KEY")
        config.autoTrackSessions = true
        config.launchDurationMillis = 5_000
        Bugsnag.start(this, config)
    }
}

Kód inicializuje Bugsnag SDK s automatickým sledováním relací a maximální dobou spuštění 5 sekund. Pokud se aplikace během této doby nespustí, Bugsnag zaznamená událost „slow launch" jako varování.

Konfigurace na iOS

Bugsnag iOS SDK podporuje Swift a Objective-C, zachycuje NSException, Mach výjimky (SIGABRT, SIGSEGV) a signály operačního systému. SDK je kompatibilní s iOS 11+ a SwiftUI, automaticky vytváří breadcrumbs pro všechny UI události: kliknutí, navigace, gesta.

swift
import Bugsnag

class AppDelegate: UIResponder, UIApplicationDelegate {
    override func application(
        _ application: UIApplication,
        didFinishLaunchingWithOptions options: [UIApplication.LaunchOptionsKey: Any]?
    ) -> Bool {
        Bugsnag.start(withApiKey: "YOUR_API_KEY")
        // dodatečná konfigurace
        return true
    }
}

Kód ve Swiftu spouští Bugsnag s minimální konfigurací. Všechny neošetřené výjimky a crashy jsou automaticky odeslány na dashboard Bugsnag s úplným kontextem zařízení a zásobníkem volání.

Breadcrumbs v Bugsnagu jsou strukturovaný záznam událostí předcházejících chybě. Každý breadcrumb obsahuje časové razítko, typ (navigation, request, state, error, manual) a libovolná metadata. Bugsnag automaticky zaznamenává breadcrumbs pro UI události v iOS a Android, změny stavu aplikace (background, foreground) a síťové požadavky.

Vývojář může přidávat vlastní breadcrumbs pro obchodní logiku: „uživatel přidal produkt do košíku", „požadavek na vytvoření objednávky byl odeslán". Při výskytu chyby jsou všechny breadcrumbs z posledních 30 sekund připojeny k události. Bugsnag také podporuje „state" — libovolný slovník dat, který je přenášen se všemi chybami relace.

kotlin
Bugsnag.leaveBreadcrumb(
    message = "Order created",
    metadata = mapOf(
        "order_id" to "ORD-12345",
        "total" to "49.99"
    ),
    type = BreadcrumbType.STATE
)

Bugsnag.setExtraData(
    "user_tier", "premium"
)

Kód zanechává breadcrumb o vytvoření objednávky a nastavuje dodatečné informace o tarifu uživatele. Při výskytu chyby v této relaci Bugsnag připojí kontext s číslem objednávky a typem uživatele.

Session tracking

Bugsnag automaticky počítá počet relací — každé spuštění aplikace je považováno za novou relaci. Poměr relací s chybami k celkovému počtu relací tvoří Stability Score. Session tracking je zohledněn v tarifikaci: Bugsnag je licencován na základě počtu sledovaných relací, nikoli objemu chyb, což jej odlišuje od modelů platby za událost u Sentry a konkurentů.

Release tracking a integrace s CI/CD

Release tracking — mechanismus propojení každé chyby s konkrétní verzí aplikace a commitem v repozitáři. Bugsnag automaticky určuje verzi z Info.plist (iOS) nebo build.gradle (Android) a zobrazuje v dashboardu počet chyb podle verzí. To umožňuje okamžitě vidět, zda byl problém zaveden posledním vydáním.

Pokud po nasazení verze 2.4.1 vzrostl počet kritických chyb 3krát oproti 2.4.0, Bugsnag označí tuto verzi jako „nestabilní" a odešle upozornění. CI/CD integrace umožňuje blokovat propagaci buildu na staging nebo production, pokud Stability Score klesl pod práh. Pluginy pro Jenkins, GitHub Actions a GitLab CI předávají metriky stability do pipeline.

Podle Bugsnag Stability Benchmark (2024) je 68% chyb v mobilních aplikacích zavedeno novými verzemi, nejedná se o dlouhodobě existující chyby. Release tracking zkracuje dobu detekce regrese z hodin na několik minut po nasazení.

Srovnání Bugsnagu s Sentry a Crashlytics

Na trhu error monitoringu jsou tři hlavní hráči: Bugsnag, Sentry a Firebase Crashlytics. Bugsnag se vyznačuje modelem cen založeným na relacích (nikoli událostech), zaměřením na Stability Score a automatickou prioritizací severity. Sentry nabízí hlubší performance monitoring s distributed tracing a otevřeným zdrojovým kódem. Crashlytics — bezplatné řešení se základními funkcemi, integrované do ekosystému Firebase.

VlastnostBugsnagSentryCrashlytics
Cena (start)Zdarma do 5 000 relacíZdarma do 5 000 událostíZdarma
Performance monitoringOmezenýPlný s distributed tracingNe
SDK pro FlutterAnoAnoOmezeně
Self-hostedNeAno (open source)Ne
Stability ScoreAno (klíčová metrika)NeNe

Výběr mezi nástroji závisí na prioritách: pokud je klíčovým ukazatelem stabilita aplikace v produkci, Bugsnag poskytuje nejpřehlednější metriku. Pokud je potřeba hluboká analýza výkonu s distributed tracing — Sentry. Pro bezplatné základní monitorování s integrací do ekosystému Google — Crashlytics.

Často kladené otázky

Jak Bugsnag určuje severity chyby?

Algoritmus zohledňuje tři faktory: typ výjimky (crash nebo handled), počet postižených uživatelů a kontext scénáře. Critical severity je přiřazena, pokud se chyba vyskytla na hlavní obrazovce nebo v platebním toku a postihla více než 1% uživatelů. Vývojář může severity ručně změnit prostřednictvím API nebo konfigurace SDK.

Podporuje Bugsnag React Native a Flutter?

Ano, Bugsnag poskytuje SDK pro React Native (s podporou nové architektury) a Flutter (kompatibilita s Dart 3.x). Obě SDK podporují automatický sběr breadcrumbs pro navigaci, síťové požadavky a stav aplikace, stejně jako vlastní instrumentaci pro obchodní logiku.

Lze Bugsnag integrovat s Jira?

Ano, Bugsnag poskytuje obousměrnou integraci s Jira: nová chyba může automaticky vytvořit úkol v Jira a uzavření úkolu v Jira změní stav chyby na „resolved" v Bugsnagu. Jsou podporovány Jira Cloud a Jira Server (prostřednictvím Jira Connect).

Jak Bugsnag ovlivňuje velikost aplikace?

Bugsnag SDK přidává přibližně 1,5 MB k velikosti APK/IPA v release sestavení. To je méně než Sentry (asi 2 MB), ale více než Firebase Crashlytics (asi 0,8 MB). Doporučuje se odstranit SDK z debug sestavení pro urychlení kompilace a ponechat jej pouze pro testovací a release konfigurace.

Lze Bugsnag použít pro backendové aplikace?

Ano, Bugsnag podporuje backendové jazyky: Ruby, Python, Node.js, Java, .NET, Go, PHP. Backendové chyby se zobrazují ve stejném dashboardu jako mobilní, seskupené podle služeb. To umožňuje komplexní sledování stability: pokud API spadne, vývojář vidí, zda problém souvisí s klientem nebo serverem.

Shrnutí

  • Bugsnag — platforma error monitoring s důrazem na metriku stability a automatickou prioritizaci chyb podle severity.
  • Stability Score — procento relací bez chyb, klíčová metrika pro hodnocení kvality vydání a CI/CD gating.
  • Severity-based triage automaticky rozděluje chyby na critical, warning a info, čímž zabraňuje únavě z alertů.
  • Release tracking propojuje každou chybu s verzí aplikace a commitem pro rychlé odhalení regresí.
  • SDK podporuje iOS, Android, React Native, Flutter, stejně jako 9 backendových jazyků v jediném dashboardu.
  • Cenový model založený na relacích odlišuje Bugsnag od konkurentů a činí jej rozpočtově předvídatelným.
  • Bugsnag je doporučen pro produktové týmy, kde je stabilita aplikace klíčovým obchodním ukazatelem a je vyžadována automatická prioritizace chyb.

Vyvineme mobilní aplikaci na klíč

IT Sectr vytváří aplikace pro iOS a Android pro startupy a podniky od roku 2017. Poradíme vám a navrhneme nejlepší řešení.

Prodiskutovat projekt

Přečtěte si také