Bugsnag: mi ez, hibakeresés és adatgyűjtés

Szerző: IT Sectr Megjelenés: 2026-05-29 Olvasási idő: 8 perc

A Bugsnag egy alkalmazáshibák és stabilitás monitorozására szolgáló platform, amely automatikusan észleli, csoportosítja és priorizálja a hibákat éles környezetben, teljes diagnosztikai kontextussal. A Bugsnag Documentation, 2025 szerint a Bugsnag havonta 6 milliárd eseményt dolgoz fel több mint 7 000 ügyfél számára, beleértve az Airbnb-t, Lyft-et, Slack-et és PagerDuty-t.

Főbb pontok

  • Bugsnag — error monitoring platform automatikus hibacsoportosítással, severity szerinti priorizálással és CI/CD-integrációval.
  • Stability Score — a hibamentes munkamenetek arányának mutatója, amely az alkalmazás általános stabilitását százalékban mutatja.
  • Severity-based triage — a hibák automatikus felosztása critical, warning és info kategóriákra a csapat fókuszálása érdekében.
  • Breadcrumbs — a hiba előtti események sorrendjének rögzítése a fejlesztő által megadott egyéni attribútumok támogatásával.
  • Release tracking — a hibák összekapcsolása az alkalmazás egy adott verziójával és automatikus értesítés a crash-ek számának növekedésekor a kiadás után.

Mi az a Bugsnag a fejlesztésben

Bugsnag egy alkalmazásstabilitás-monitorozó platform, amelyet 2013-ban alapítottak és 2019-ben vásárolt fel a SmartBear. A Bugsnag fő különbsége a versenytársakhoz képest a stabilitásra mint kulcsfontosságú termékmutatóra való összpontosítás, nem csupán a hibák számára. A platform egységes irányítópultot biztosít iOS, Android, React Native, Flutter, web és backend szolgáltatások számára.

Minden hiba a Bugsnag-ban automatikus severity értékelést kap (critical, warning, info) a kontextus alapján: történt-e alkalmazás-összeomlás, érintett-e a fizetési funkció, ismétlődik-e a hiba sok felhasználónál. A csapat nemcsak a hibák listáját látja, hanem egy priorizált backlog-ot az üzletre gyakorolt hatás feltüntetésével.

A SmartBear (2024) szerint a Bugsnag-ot használó csapatok 40%-kal csökkentik az incidensek átlagos megoldási idejét a duplikátumok automatikus csoportosításának és az egyes események teljes kontextusának köszönhetően. A platform integrálódik a Slack, PagerDuty, Jira, GitHub és GitLab rendszerekkel a hibákkal kapcsolatos feladatok automatikus létrehozásához.

Stability Score és automatikus priorizálás

Stability Score — a Bugsnag kulcsfontosságú mutatója, amely a hibamentesen befejezett munkamenetek százalékos arányát mutatja. Az érték a crash-mentes munkamenetek számának és a munkamenetek teljes számának arányaként kerül kiszámításra egy adott időszakban. A 99,9%-os pontszám azt jelenti, hogy 1000 munkamenetből 1 tartalmaz hibát.

A Stability Score küszöbértékei integrálva vannak a CI/CD-vel: ha egy új verzió telepítése után a pontszám a beállított küszöb alá esik (pl. 99,5%), a Bugsnag automatikusan blokkolja a kiadást vagy kritikus riasztást küld a Slack-re. Release health dashboard mutatja a pontszám dinamikáját az alkalmazás egyes verzióira vonatkozóan, lehetővé téve egy adott változtatás stabilitásra gyakorolt hatásának nyomon követését.

Severity-based triage

A Bugsnag automatikus hibabesoroló algoritmust használ három severity-szinttel. Critical — alkalmazás-összeomlások, fizetési forgatókönyvek hibái, amelyek a felhasználók több mint 5%-át érintik. Warning — nem végzetes hibák (handled exceptions), amelyek egyes funkciókat érintenek. Info — naplók, alacsony prioritású figyelmeztetések. Ez a megközelítés megakadályozza a „riasztási fáradtságot", amikor több száz értesítés lehetetlenné teszi a valóban kritikus problémákra való összpontosítást.

SeverityPéldaMűvelet
CriticalÖsszeomlás az alkalmazásba való belépéskorAzonnali értesítés
WarningHiba az avatar betöltésekorFeladat a Jira-ban a következő sprintre
InfoIdőtúllépés QR-kód beolvasásakorNaplózás értesítés nélkül

Bugsnag SDK csatlakoztatása mobilos platformokhoz

A Bugsnag SDK telepítése 5 percet vesz igénybe: a függőség hozzáadása és inicializálás a projekt API-kulcsával. Bugsnag Android SDK támogatja a Kotlin és Java nyelveket, automatikusan elkapja a Java-kivételeket, ANR-eket és natív (C/C++)-hibákat jeleken keresztül.

Beállítás Androidon

Az SDK a Gradle-en keresztül csatlakozik és az Application.onCreate-ban inicializálódik. A Bugsnag automatikusan gyűjti az eszköz információit: modell, operációs rendszer verzió, szabad memória, akkumulátor töltöttségi szint. Auto-notify alapértelmezetten be van kapcsolva, és az összes nem kezelt kivételt elküldi a Bugsnag szerverre.

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)
    }
}

A kód inicializálja a Bugsnag SDK-t automatikus munkamenet-követéssel és maximum 5 másodperces indítási idővel. Ha az alkalmazás nem indul el ez idő alatt, a Bugsnag rögzíti a „lassú indítás" eseményt figyelmeztetésként.

Beállítás iOS-en

Bugsnag iOS SDK támogatja a Swift és Objective-C nyelveket, elkapja az NSException, Mach-kivételeket (SIGABRT, SIGSEGV) és az operációs rendszer jeleit. Az SDK kompatibilis az iOS 11+ és SwiftUI rendszerekkel, automatikusan breadcrumbs-eket hoz létre az összes UI-eseményhez: kattintások, navigáció, gesztusok.

swift
import Bugsnag

class AppDelegate: UIResponder, UIApplicationDelegate {
    override func application(
        _ application: UIApplication,
        didFinishLaunchingWithOptions options: [UIApplication.LaunchOptionsKey: Any]?
    ) -> Bool {
        Bugsnag.start(withApiKey: "YOUR_API_KEY")
        // további konfiguráció
        return true
    }
}

A Swift-kód minimális konfigurációval indítja el a Bugsnag-ot. Az összes nem kezelt kivétel és összeomlás automatikusan elküldésre kerül a Bugsnag irányítópultra a teljes eszközkontextussal és hívásveremmel együtt.

Breadcrumbs a Bugsnag-ban a hibát megelőző események strukturált naplója. Minden breadcrumb tartalmaz időbélyeget, típust (navigation, request, state, error, manual) és tetszőleges metaadatokat. A Bugsnag automatikusan rögzíti a breadcrumbs-eket az iOS és Android UI-eseményeihez, az alkalmazás állapotváltozásaihoz (background, foreground) és a hálózati kérésekhez.

A fejlesztő egyéni breadcrumbs-eket adhat hozzá az üzleti logikához: „a felhasználó hozzáadta a terméket a kosárhoz", „a rendelés létrehozására irányuló kérés elküldve". Hiba esetén az utolsó 30 másodperc összes breadcrumb-je hozzácsatolódik az eseményhez. A Bugsnag támogatja a „state"-et is — egy tetszőleges adatszótárat, amely a munkamenet összes hibájával együtt kerül továbbításra.

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"
)

A kód breadcrumb-ot hagy a rendelés létrehozásáról, és beállítja a felhasználói díjcsomagra vonatkozó további információkat. Ha ebben a munkamenetben hiba történik, a Bugsnag hozzácsatolja a rendelésszámot és a felhasználó típusát tartalmazó kontextust.

Session tracking

A Bugsnag automatikusan számolja a munkamenetek számát — minden alkalmazásindítás új munkamenetnek számít. A hibás munkamenetek és a teljes munkamenetek aránya alkotja a Stability Score-t. Session tracking figyelembe van véve a díjszabásban: a Bugsnag a követett munkamenetek száma alapján licencelhető, nem a hibák mennyisége alapján, ami megkülönbözteti a Sentry és más versenytársak eseményenkénti fizetési modelljétől.

Release tracking és CI/CD-integráció

Release tracking — mechanizmus, amely minden hibát az alkalmazás egy adott verziójához és a repóban lévő commit-hoz kapcsol. A Bugsnag automatikusan meghatározza a verziót az Info.plist-ből (iOS) vagy a build.gradle-ből (Android), és az irányítópulton megjeleníti a hibák számát verziók szerint. Ez lehetővé teszi, hogy azonnal lássuk, vajon a problémát a legutóbbi kiadás okozta-e.

Ha a 2.4.1-es verzió telepítése után a kritikus hibák száma 3-szorosára nőtt a 2.4.0-hoz képest, a Bugsnag ezt a verziót „instabilnak" jelöli és riasztást küld. CI/CD-integráció lehetővé teszi a build staging vagy production környezetbe való promóciójának blokkolását, ha a Stability Score a küszöb alá esett. A Jenkins, GitHub Actions és GitLab CI bővítményei továbbítják a stabilitási mutatókat a pipeline-ba.

A Bugsnag Stability Benchmark (2024) szerint a mobilalkalmazásokban a hibák 68%-át új verziók vezetik be, nem hosszú ideje fennálló hibák. A Release tracking órákról percekre csökkenti a regresszió észlelésének idejét a telepítés után.

Bugsnag összehasonlítása a Sentry-vel és Crashlytics-szel

Az error monitoring piacán három fő szereplő van: Bugsnag, Sentry és Firebase Crashlytics. Bugsnag a munkamenet-alapú árképzési modellel (nem esemény-alapú), a Stability Score-ra való összpontosítással és az automatikus severity-priorizálással tűnik ki. Sentry mélyebb performance monitoring-ot kínál distributed tracing-el és nyílt forráskóddal. Crashlytics — ingyenes megoldás alapvető funkciókkal, integrálva a Firebase ökoszisztémába.

JellemzőBugsnagSentryCrashlytics
Ár (kezdő)Ingyenes 5 000 munkamenetigIngyenes 5 000 eseményigIngyenes
Performance monitoringKorlátozottTeljes distributed tracing-elNem
SDK Flutter-hezIgenIgenKorlátozott
Self-hostedNemIgen (open source)Nem
Stability ScoreIgen (kulcsfontosságú mutató)NemNem

Az eszközök közötti választás a prioritásoktól függ: ha a kulcsfontosságú mutató az alkalmazás stabilitása éles környezetben, a Bugsnag adja a legáttekinthetőbb metrikát. Ha mélyreható teljesítményelemzésre van szükség distributed tracing-el — Sentry. Ingyenes alapmonitorozáshoz Google-ökoszisztéma-integrációval — Crashlytics.

Gyakran Ismételt Kérdések

Hogyan határozza meg a Bugsnag a hiba severity-ét?

Az algoritmus három tényezőt vesz figyelembe: a kivétel típusát (crash vagy handled), az érintett felhasználók számát és a forgatókönyv kontextusát. Critical severity akkor kerül hozzárendelésre, ha a hiba a főképernyőn vagy a fizetési folyamatban történt, és a felhasználók több mint 1%-át érintette. A fejlesztő manuálisan felülbírálhatja a severity-t az API-n vagy az SDK konfiguráción keresztül.

Támogatja a Bugsnag a React Native-t és a Flutter-t?

Igen, a Bugsnag SDK-t biztosít React Native (az új architektúra támogatásával) és Flutter (Dart 3.x kompatibilitás) számára. Mindkét SDK támogatja a breadcrumbs automatikus gyűjtését navigációhoz, hálózati kérésekhez és alkalmazásállapothoz, valamint az egyéni instrumentációt az üzleti logikához.

Integrálható a Bugsnag a Jira-val?

Igen, a Bugsnag kétirányú integrációt biztosít a Jira-val: egy új hiba automatikusan feladatot hozhat létre a Jira-ban, a Jira-beli feladat lezárása pedig a hiba állapotát „resolved"-ra változtatja a Bugsnag-ban. Támogatott a Jira Cloud és a Jira Server (Jira Connect-en keresztül).

Hogyan befolyásolja a Bugsnag az alkalmazás méretét?

A Bugsnag SDK körülbelül 1,5 MB-ot ad hozzá az APK/IPA méretéhez release build-ben. Ez kevesebb, mint a Sentry (körülbelül 2 MB), de több, mint a Firebase Crashlytics (körülbelül 0,8 MB). Javasolt az SDK eltávolítása a debug build-ekből a fordítás gyorsítása érdekében, csak a teszt- és release-konfigurációk számára megtartva.

Használható a Bugsnag backend alkalmazásokhoz?

Igen, a Bugsnag támogatja a backend nyelveket: Ruby, Python, Node.js, Java, .NET, Go, PHP. A backend hibák ugyanazon az irányítópulton jelennek meg, mint a mobil hibák, szolgáltatások szerint csoportosítva. Ez lehetővé teszi a teljes körű stabilitásfigyelést: ha az API leesett, a fejlesztő látja, hogy a probléma a klienshez vagy a szerverhez kapcsolódik-e.

Összefoglaló

  • Bugsnag — error monitoring platform a stabilitási mutatóra és a hibák severity szerinti automatikus priorizálására összpontosítva.
  • Stability Score — a hibamentes munkamenetek százalékos aránya, kulcsfontosságú mutató a kiadás minőségének értékeléséhez és a CI/CD gatinghez.
  • Severity-based triage automatikusan osztja fel a hibákat critical, warning és info kategóriákra, megelőzve a riasztási fáradtságot.
  • Release tracking minden hibát az alkalmazás verziójához és commit-hoz kapcsol a regressziók gyors észleléséhez.
  • SDK támogatja az iOS, Android, React Native, Flutter, valamint 9 backend nyelvet egyetlen irányítópulton.
  • Árképzési modell munkamenet-alapú, ami megkülönbözteti a Bugsnag-ot a versenytársaktól és költségvetés szempontjából kiszámíthatóvá teszi.
  • A Bugsnag azoknak a termékcsapatoknak ajánlott, ahol az alkalmazás stabilitása kulcsfontosságú üzleti mutató, és a hibák automatikus priorizálása szükséges.

Kulcsrakész mobilalkalmazást fejlesztünk

Az IT Sectr 2017 óta készít iOS és Android alkalmazásokat induló vállalkozásoknak és vállalkozásoknak. Tanácsot adunk, és a legjobb megoldást javasoljuk.

Projekt megbeszélése

Olvassa el is