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 ä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 — 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.
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.
| Severity | Exempel | Åtgärd |
|---|---|---|
| Critical | Krascher vid inloggning i appen | Omedelbar avisering |
| Warning | Fel vid laddning av avatar | Uppgift i Jira för nästa sprint |
| Info | Tidsgräns vid QR-skanning | Loggning utan avisering |
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.
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.
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.
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.
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.
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.
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 — 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.
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.
| Funktion | Bugsnag | Sentry | Crashlytics |
|---|---|---|---|
| Pris (start) | Gratis upp till 5 000 sessioner | Gratis upp till 5 000 händelser | Gratis |
| Performance monitoring | Begränsad | Fullständig med distributed tracing | Nej |
| SDK för Flutter | Ja | Ja | Begränsad |
| Self-hosted | Nej | Ja (open source) | Nej |
| Stability Score | Ja (nyckelmetrik) | Nej | Nej |
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
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.
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.
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.
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.
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
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.
Läs också