Bugsnag ist eine Plattform zur Überwachung von Anwendungsfehlern und -stabilität, die Bugs in Produktionsumgebungen mit vollständigem Diagnosekontext automatisch erkennt, gruppiert und priorisiert. Laut der Bugsnag-Dokumentation, 2025 verarbeitet Bugsnag monatlich 6 Milliarden Ereignisse für über 7.000 Kunden, darunter Airbnb, Lyft, Slack und PagerDuty.
Wichtigste Erkenntnisse
Bugsnag ist eine 2013 gegründete und 2019 von SmartBear übernommene Plattform zur Überwachung der Anwendungsstabilität. Der Hauptunterschied zwischen Bugsnag und seinen Wettbewerbern liegt im Fokus auf Stabilität als zentrale Produktmetrik, nicht nur auf die Anzahl der Fehler. Die Plattform bietet ein einheitliches Dashboard für iOS, Android, React Native, Flutter, Web und Backend-Dienste.
Jeder Fehler in Bugsnag erhält eine automatische Schweregrad-Bewertung (critical, warning, info) basierend auf dem Kontext: ob ein Absturz aufgetreten ist, eine Zahlungsfunktion betroffen war oder der Fehler bei vielen Benutzern wiederkehrt. Das Team sieht nicht nur eine Liste von Bugs, sondern ein priorisiertes Backlog mit Angabe der geschäftlichen Auswirkungen.
Laut SmartBear (2024) reduzieren Teams, die Bugsnag verwenden, die durchschnittliche Lösungszeit um 40% dank automatischer Duplikatsgruppierung und vollständigem Ereigniskontext. Die Plattform integriert sich mit Slack, PagerDuty, Jira, GitHub und GitLab zur automatischen Erstellung von Aufgaben aus Fehlern.
Stability Score ist die Schlüsselmetrik von Bugsnag, die den Prozentsatz der fehlerfrei abgeschlossenen Sitzungen anzeigt. Der Wert wird als Verhältnis der absturzfreien Sitzungen zur Gesamtzahl der Sitzungen in einem Zeitraum berechnet. Ein Score von 99,9% bedeutet, dass 1 von 1.000 Sitzungen einen Fehler enthält.
Die Schwellenwerte des Stability Score sind in CI/CD integriert: Wenn nach der Bereitstellung einer neuen Version der Score unter einen festgelegten Schwellenwert (z.B. 99,5%) fällt, blockiert Bugsnag automatisch das Release oder sendet einen kritischen Alert in Slack. Das Release health dashboard zeigt die Score-Entwicklung für jede Anwendungsversion und ermöglicht die Verfolgung der Auswirkungen einer bestimmten Änderung auf die Stabilität.
Bugsnag verwendet einen automatischen Fehlerklassifizierungsalgorithmus mit drei Schweregraden. Critical — Anwendungsabstürze, Fehler in Zahlungsszenarien, die mehr als 5% der Benutzer betreffen. Warning — nicht fatale Fehler (behandelte Ausnahmen), die einzelne Funktionen betreffen. Info — Logs, Warnungen mit niedriger Priorität. Dieser Ansatz verhindert Alarmmüdigkeit, bei der hunderte Benachrichtigungen die Konzentration auf wirklich kritische Probleme erschweren.
| Schweregrad | Beispiel | Aktion |
|---|---|---|
| Critical | Absturz beim App-Start | Sofortige Benachrichtigung |
| Warning | Fehler beim Laden des Avatars | Jira-Aufgabe für den nächsten Sprint |
| Info | Zeitüberschreitung beim QR-Scan | Protokollierung ohne Benachrichtigung |
Die Installation des Bugsnag SDK dauert 5 Minuten: Hinzufügen einer Abhängigkeit und Initialisierung mit einem Projekt-API-Schlüssel. Das Bugsnag Android SDK unterstützt Kotlin und Java, fängt Java-Ausnahmen, ANRs und native (C/C++) Fehler über Signale automatisch ab.
Das SDK wird über Gradle hinzugefügt und in Application.onCreate initialisiert. Bugsnag sammelt automatisch Geräteinformationen: Modell, OS-Version, freier Speicher, Akkustand. Auto-notify ist standardmäßig aktiviert und sendet alle unbehandelten Ausnahmen an den Bugsnag-Server.
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)
}
}
Der Code initialisiert das Bugsnag SDK mit automatischem Sitzungstracking und einer maximalen Startzeit von 5 Sekunden. Wenn die Anwendung innerhalb dieser Zeit nicht startet, zeichnet Bugsnag ein Ereignis „langsamer Start“ als Warnung auf.
Das Bugsnag iOS SDK unterstützt Swift und Objective-C, fängt NSException, Mach-Ausnahmen (SIGABRT, SIGSEGV) und Betriebssystemsignale ab. Das SDK ist mit iOS 11+ und SwiftUI kompatibel und erstellt automatisch Breadcrumbs für alle UI-Ereignisse: Tipps, Übergänge, Gesten.
import Bugsnag
class AppDelegate: UIResponder, UIApplicationDelegate {
override func application(
_ application: UIApplication,
didFinishLaunchingWithOptions options: [UIApplication.LaunchOptionsKey: Any]?
) -> Bool {
Bugsnag.start(withApiKey: "YOUR_API_KEY")
// zusätzliche Konfiguration
return true
}
}
Der Swift-Code startet Bugsnag mit minimaler Konfiguration. Alle unbehandelten Ausnahmen und Abstürze werden automatisch mit vollständigem Gerätekontext und Aufrufstapel an das Bugsnag-Dashboard gesendet.
Breadcrumbs in Bugsnag sind ein strukturiertes Protokoll von Ereignissen, die einem Fehler vorausgehen. Jeder Breadcrumb enthält einen Zeitstempel, Typ (navigation, request, state, error, manual) und beliebige Metadaten. Bugsnag zeichnet automatisch Breadcrumbs für UI-Ereignisse in iOS und Android, Anwendungszustandsänderungen (Hintergrund, Vordergrund) und Netzwerkanfragen auf.
Entwickler können benutzerdefinierte Breadcrumbs für die Geschäftslogik hinzufügen: „Benutzer hat Artikel in den Warenkorb gelegt“, „Bestellanforderung gesendet“. Wenn ein Fehler auftritt, werden alle Breadcrumbs der letzten 30 Sekunden an das Ereignis angehängt. Bugsnag unterstützt auch „State“ — ein beliebiges Datenwörterbuch, das mit allen Sitzungsfehlern übermittelt wird.
Bugsnag.leaveBreadcrumb(
message = "Order created",
metadata = mapOf(
"order_id" to "ORD-12345",
"total" to "49.99"
),
type = BreadcrumbType.STATE
)
Bugsnag.setExtraData(
"user_tier", "premium"
)
Der Code hinterlässt einen Breadcrumb zur Bestellerstellung und setzt zusätzliche Informationen zum Benutzerplan. Wenn in dieser Sitzung ein Fehler auftritt, hängt Bugsnag den Kontext mit der Bestellnummer und dem Benutzertyp an.
Bugsnag zählt automatisch Sitzungen — jeder Anwendungsstart gilt als neue Sitzung. Das Verhältnis von Sitzungen mit Fehlern zur Gesamtzahl der Sitzungen bildet den Stability Score. Das Sitzungstracking beeinflusst die Preisgestaltung: Bugsnag wird nach der Anzahl der verfolgten Sitzungen lizenziert, nicht nach dem Fehlervolumen, was es von den ereignisbasierten Preismodellen von Sentry und Wettbewerbern unterscheidet.
Release Tracking ist ein Mechanismus, der jeden Fehler mit einer bestimmten Anwendungsversion und einem Repository-Commit verknüpft. Bugsnag erkennt die Version automatisch aus Info.plist (iOS) oder build.gradle (Android) und zeigt die Fehleranzahl nach Version im Dashboard an. So ist sofort erkennbar, ob ein Problem durch das letzte Release verursacht wurde.
Wenn nach der Bereitstellung von Version 2.4.1 die Anzahl kritischer Fehler im Vergleich zu 2.4.0 um das Dreifache gestiegen ist, markiert Bugsnag diese Version als „instabil“ und sendet einen Alarm. Die CI/CD-Integration ermöglicht es, die Beförderung eines Builds auf Staging oder Produktion zu blockieren, wenn der Stability Score unter den Schwellenwert fällt. Plugins für Jenkins, GitHub Actions und GitLab CI übergeben Stabilitätsmetriken an die Pipeline.
Laut Bugsnag Stability Benchmark (2024) werden 68% der Fehler in mobilen Anwendungen durch neue Versionen eingeführt und sind keine langlebigen Bugs. Release Tracking verkürzt die Erkennungszeit für Regressionen von Stunden auf Minuten nach der Bereitstellung.
Es gibt drei Hauptakteure auf dem Markt für Fehlerüberwachung: Bugsnag, Sentry und Firebase Crashlytics. Bugsnag zeichnet sich durch sein sitzungsbasiertes Preismodell (statt ereignisbasiert), den Fokus auf den Stability Score und die automatische Schweregrad-Priorisierung aus. Sentry bietet eine tiefere Leistungsüberwachung mit verteiltem Tracing und ist Open Source. Crashlytics ist eine kostenlose Lösung mit Basisfunktionen, die in das Firebase-Ökosystem integriert ist.
| Merkmal | Bugsnag | Sentry | Crashlytics |
|---|---|---|---|
| Preis (Start) | Kostenlos bis 5.000 Sitzungen | Kostenlos bis 5.000 Ereignisse | Kostenlos |
| Leistungsüberwachung | Eingeschränkt | Vollständig mit verteiltem Tracing | Nein |
| SDK für Flutter | Ja | Ja | Eingeschränkt |
| Self-hosted | Nein | Ja (Open Source) | Nein |
| Stability Score | Ja (Kernmetrik) | Nein | Nein |
Die Wahl zwischen den Tools hängt von den Prioritäten ab: Wenn die wichtigste Metrik die Anwendungsstabilität in der Produktion ist, bietet Bugsnag die aussagekräftigste Metrik. Bei Bedarf an tiefer Leistungsanalyse mit verteiltem Tracing — Sentry. Für kostenloses grundlegendes Monitoring mit Google-Ökosystem-Integration — Crashlytics.
Häufig gestellte Fragen
Der Algorithmus berücksichtigt drei Faktoren: Ausnahmetyp (Absturz oder behandelt), Anzahl der betroffenen Benutzer und Szenariokontext. Der Schweregrad Critical wird zugewiesen, wenn der Fehler auf dem Hauptbildschirm oder in einem Zahlungsablauf aufgetreten ist und mehr als 1% der Benutzer betroffen hat. Entwickler können den Schweregrad manuell über die API oder SDK-Konfiguration überschreiben.
Ja, Bugsnag bietet SDKs für React Native (mit Unterstützung für neue Architektur) und Flutter (kompatibel mit Dart 3.x). Beide SDKs unterstützen die automatische Breadcrumb-Erfassung für Navigation, Netzwerkanfragen und Anwendungszustand sowie benutzerdefinierte Instrumentierung für Geschäftslogik.
Ja, Bugsnag bietet eine bidirektionale Integration mit Jira: Ein neuer Fehler kann automatisch eine Aufgabe in Jira erstellen, und das Schließen einer Aufgabe in Jira versetzt den Fehler in Bugsnag in den Status „behoben“. Jira Cloud und Jira Server (über Jira Connect) werden unterstützt.
Das Bugsnag SDK fügt etwa 1,5 MB zur APK/IPA-Größe in einem Release-Build hinzu. Das ist weniger als Sentry (ca. 2 MB), aber mehr als Firebase Crashlytics (ca. 0,8 MB). Es wird empfohlen, das SDK aus Debug-Builds zu entfernen, um die Kompilierung zu beschleunigen, und es nur für Test- und Release-Konfigurationen zu behalten.
Ja, Bugsnag unterstützt Backend-Sprachen: Ruby, Python, Node.js, Java, .NET, Go, PHP. Backend-Fehler werden im selben Dashboard wie mobile Fehler angezeigt, gruppiert nach Diensten. Dies ermöglicht die End-to-End-Stabilitätsverfolgung: Wenn eine API ausfällt, kann der Entwickler sehen, ob das Problem client- oder serverseitig ist.
Zusammenfassung
Wir entwickeln eine mobile Applikation schlüsselfertig
IT Sectr entwickelt seit 2017 iOS- und Android-Apps für Startups und Unternehmen. Wir beraten Sie und schlagen die beste Lösung vor.
Lesen Sie auch