Bugsnag: vad är det, felspårning och datainsamling

Författare: IT Sectr Publicerad: 2026-05-29 Lästid: 8 min

Bugsnag är en plattform för övervakning av fel och applikationsstabilitet som automatiskt upptäcker, grupperar och prioriterar buggar i produktionsmiljö med fullständig diagnostisk kontext. Enligt Bugsnag Documentation, 2025 bearbetar Bugsnag 6 miljarder händelser varje månad för över 7 000 kunder, inklusive Airbnb, Lyft, Slack och PagerDuty.

Huvudpunkter

  • Bugsnag — error monitoring-plattform med automatisk felgruppering, prioritering efter severity och CI/CD-integration.
  • Stability Score — mätvärde för andelen felfria sessioner som visar appens övergripande stabilitet i procent.
  • Severity-based triage — automatisk uppdelning av fel i critical, warning och info för att fokusera teamet på det viktigaste.
  • Breadcrumbs — registrering av händelseförloppet före ett fel med stöd för anpassade attribut från utvecklaren.
  • Release tracking — koppling av fel till en specifik appversion och automatisk avisering när antalet crashes ökar efter en release.

Vad är Bugsnag inom utveckling

Bugsnag är en plattform för övervakning av applikationsstabilitet, grundad 2013 och förvärvad av SmartBear 2019. Den största skillnaden mellan Bugsnag och konkurrenter är fokus på stabilitet som en nyckelmetrisk för produkten, inte bara på antalet fel. Plattformen tillhandahåller en enhetlig instrumentpanel för iOS, Android, React Native, Flutter, webb och backend-tjänster.

Varje fel i Bugsnag får en automatisk severity-bedömning (critical, warning, info) baserat på kontext: om en app-krash har inträffat, om betalfunktionen har påverkats, om felet upprepas för många användare. Teamet ser inte bara en lista med buggar, utan en prioriterad backlog med indikation på påverkan på verksamheten.

Enligt SmartBear (2024) minskar team som använder Bugsnag den genomsnittliga incidentlösningstiden med 40% tack vare automatisk gruppering av dubbletter och fullständig kontext för varje händelse. Plattformen integreras med Slack, PagerDuty, Jira, GitHub och GitLab för automatisk skapande av uppgifter relaterade till fel.

Stability Score och automatisk prioritering

Stability Score — Bugsnags centrala mätvärde som visar andelen sessioner som slutförts utan fel. Värdet beräknas som förhållandet mellan antalet sessioner utan krascher och det totala antalet sessioner under en period. En poäng på 99,9% innebär att 1 av 1000 sessioner innehåller ett fel.

Tröskelvärden för Stability Score är integrerade med CI/CD: om poängen efter distribution av en ny version sjunker under den inställda tröskeln (t.ex. 99,5%) blockerar Bugsnag automatiskt releasen eller skickar en kritisk varning till Slack. Release health dashboard visar poängdynamiken för varje appversion, vilket gör det möjligt att spåra effekten av en specifik förändring på stabiliteten.

Severity-based triage

Bugsnag använder en algoritm för automatisk klassificering av fel i tre severity-nivåer. Critical — app-krascher, fel i betalningsscenarier som påverkar mer än 5% av användarna. Warning — icke-dödliga fel (handled exceptions) som påverkar enskilda funktioner. Info — loggar, lågprioriterade varningar. Detta tillvägagångssätt förhindrar „varningströtthet", när hundratals aviseringar gör det omöjligt att fokusera på verkligt kritiska problem.

SeverityExempelÅtgärd
CriticalKrascher vid inloggning i appenOmedelbar avisering
WarningFel vid laddning av avatarUppgift i Jira för nästa sprint
InfoTidsgräns vid QR-skanningLoggning utan avisering

Ansluta Bugsnag SDK för mobila plattformar

Installation av Bugsnag SDK tar 5 minuter: lägga till beroende och initiera med projektets API-nyckel. Bugsnag Android SDK stöder Kotlin och Java, fångar automatiskt Java-undantag, ANR och native (C/C++)-fel via signaler.

Konfiguration på Android

SDK ansluts via Gradle och initieras i Application.onCreate. Bugsnag samlar automatiskt in enhetsinformation: modell, OS-version, ledigt minne, batterinivå. Auto-notify är aktiverat som standard och skickar alla ohanterade undantag till Bugsnag-servern.

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

Koden initierar Bugsnag SDK med automatisk sessionsspårning och maximal starttid på 5 sekunder. Om appen inte startar inom denna tid registrerar Bugsnag händelsen "slow launch" som en varning.

Konfiguration på iOS

Bugsnag iOS SDK stöder Swift och Objective-C, fångar NSException, Mach-undantag (SIGABRT, SIGSEGV) och operativsystemsignaler. SDK är kompatibel med iOS 11+ och SwiftUI, skapar automatiskt breadcrumbs för alla UI-händelser: klick, navigering, gester.

swift
import Bugsnag

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

Kod i Swift startar Bugsnag med minimal konfiguration. Alla ohanterade undantag och krascher skickas automatiskt till Bugsnag-instrumentpanelen med fullständig enhetskontext och anropsstack.

Breadcrumbs i Bugsnag är en strukturerad logg över händelser som föregår ett fel. Varje breadcrumb innehåller en tidsstämpel, typ (navigation, request, state, error, manual) och godtycklig metadata. Bugsnag registrerar automatiskt breadcrumbs för UI-händelser i iOS och Android, förändringar i appstatus (background, foreground) och nätverksförfrågningar.

Utvecklaren kan lägga till anpassade breadcrumbs för affärslogik: "användaren lade till produkt i varukorgen", "begäran om att skapa order skickades". När ett fel inträffar bifogas alla breadcrumbs från de senaste 30 sekunderna till händelsen. Bugsnag stöder också "state" — en godtycklig dataordbok som skickas med alla fel i en session.

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

Koden lämnar en breadcrumb om att en order skapats och ställer in ytterligare information om användarens tariff. Om ett fel inträffar i denna session bifogar Bugsnag kontext med ordernummer och användartyp.

Session tracking

Bugsnag räknar automatiskt antalet sessioner — varje start av appen betraktas som en ny session. Förhållandet mellan sessioner med fel och det totala antalet sessioner utgör Stability Score. Session tracking beaktas i prissättningen: Bugsnag licensieras baserat på antalet spårade sessioner, inte felvolym, vilket skiljer det från betalningsmodeller per händelse hos Sentry och konkurrenter.

Release tracking och CI/CD-integration

Release tracking — en mekanism för att koppla varje fel till en specifik appversion och commit i databasen. Bugsnag bestämmer automatiskt versionen från Info.plist (iOS) eller build.gradle (Android) och visar i instrumentpanelen antalet fel per version. Detta gör det möjligt att omedelbart se om problemet introducerades av den senaste releasen.

Om antalet kritiska fel efter distribution av version 2.4.1 ökade 3 gånger jämfört med 2.4.0, markerar Bugsnag denna version som "instabil" och skickar en varning. CI/CD-integration gör det möjligt att blockera befordran av en build till staging eller production om Stability Score har sjunkit under tröskeln. Plugins för Jenkins, GitHub Actions och GitLab CI överför stabilitetsmetriker till pipelinen.

Enligt Bugsnag Stability Benchmark (2024) introduceras 68% av felen i mobilappar av nya versioner, inte långvariga buggar. Release tracking minskar tiden för att upptäcka regressioner från timmar till några minuter efter distribution.

Jämförelse av Bugsnag med Sentry och Crashlytics

På marknaden för error monitoring finns tre huvudaktörer: Bugsnag, Sentry och Firebase Crashlytics. Bugsnag utmärker sig med en prissättningsmodell baserad på sessioner (inte händelser), fokus på Stability Score och automatisk severity-prioritering. Sentry erbjuder djupare performance monitoring med distributed tracing och öppen källkod. Crashlytics — en gratis lösning med grundläggande funktioner, integrerad i Firebase-ekosystemet.

FunktionBugsnagSentryCrashlytics
Pris (start)Gratis upp till 5 000 sessionerGratis upp till 5 000 händelserGratis
Performance monitoringBegränsadFullständig med distributed tracingNej
SDK för FlutterJaJaBegränsad
Self-hostedNejJa (open source)Nej
Stability ScoreJa (nyckelmetrik)NejNej

Valet mellan verktyg beror på prioriteringar: om den viktigaste indikatorn är appstabilitet i produktion ger Bugsnag den tydligaste metrik. Om djupgående prestandaanalys med distributed tracing behövs — Sentry. För gratis grundläggande övervakning med integration i Google-ekosystemet — Crashlytics.

Vanliga frågor

Hur bestämmer Bugsnag severity för ett fel?

Algoritmen tar hänsyn till tre faktorer: undantagstyp (krash eller hanterat), antal drabbade användare och scenariokontext. Critical severity tilldelas om felet inträffade på huvudskärmen eller i betalningsflödet och påverkade mer än 1% av användarna. Utvecklaren kan manuellt åsidosätta severity via API eller SDK-konfiguration.

Stöder Bugsnag React Native och Flutter?

Ja, Bugsnag tillhandahåller SDK för React Native (med stöd för ny arkitektur) och Flutter (kompatibilitet med Dart 3.x). Båda SDK:erna stöder automatisk insamling av breadcrumbs för navigering, nätverksförfrågningar och appstatus, samt anpassad instrumentering för affärslogik.

Kan Bugsnag integreras med Jira?

Ja, Bugsnag tillhandahåller dubbelriktad integration med Jira: ett nytt fel kan automatiskt skapa en uppgift i Jira, och stängning av en uppgift i Jira ändrar felstatusen till "resolved" i Bugsnag. Jira Cloud och Jira Server (via Jira Connect) stöds.

Hur påverkar Bugsnag appstorleken?

Bugsnag SDK lägger till cirka 1,5 MB till APK/IPA-storleken i en release-build. Detta är mindre än Sentry (cirka 2 MB) men mer än Firebase Crashlytics (cirka 0,8 MB). Det rekommenderas att ta bort SDK från debug-builds för att påskynda kompilering och endast behålla det för test- och releasekonfigurationer.

Kan Bugsnag användas för backend-applikationer?

Ja, Bugsnag stöder backend-språk: Ruby, Python, Node.js, Java, .NET, Go, PHP. Backend-fel visas på samma instrumentpanel som mobila fel, grupperade efter tjänster. Detta möjliggör end-to-end-stabilitetsövervakning: om API:et kraschar ser utvecklaren om problemet är relaterat till klienten eller servern.

Sammanfattning

  • Bugsnag — error monitoring-plattform med betoning på stabilitetsmetrik och automatisk prioritering av fel efter severity.
  • Stability Score — andel felfria sessioner i procent, nyckelmetrik för att utvärdera releasekvalitet och CI/CD-gating.
  • Severity-based triage delar automatiskt upp fel i critical, warning och info, vilket förhindrar varningströtthet.
  • Release tracking kopplar varje fel till en appversion och commit för snabb regressiondetektering.
  • SDK stöder iOS, Android, React Native, Flutter, samt 9 backend-språk i en enda instrumentpanel.
  • Prissättningsmodell baserad på sessioner skiljer Bugsnag från konkurrenter och gör det budgetmässigt förutsägbart.
  • Bugsnag rekommenderas för produktteam där appstabilitet är en viktig affärsindikator och automatisk felprioritering krävs.

Vi utvecklar en mobil applikation nyckelfärdigt

IT Sectr skapar iOS- och Android-applikationer för startups och företag sedan 2017. Vi ger dig råd och föreslår den bästa lösningen.

Diskutera projektet

Läs också