Sentry — was es ist, Prinzipien und Fehlersammlung

Autor: IT Sectr Veröffentlicht: 2026-05-29 Lesezeit: 8 Min.

Sentry ist eine Plattform für Echtzeit-Fehlerverfolgung und Anwendungsleistungsüberwachung, die Entwicklern den vollständigen Kontext jedes Absturzes bietet. Laut Sentry Documentation, 2025 verarbeitet Sentry täglich über 10 Milliarden Ereignisse und bietet Integration mit über 90 Sprachen und Frameworks für iOS, Android, Web und Backend.

Wichtige Punkte

  • Sentry ist eine Open-Source-Plattform für Fehlerverfolgung und Leistungsüberwachung, die über 90 Sprachen und Plattformen unterstützt.
  • Error events — automatische Ausnahmesammlung mit vollständigem Stacktrace, Variablenwerten und Gerätezustand.
  • Breadcrumbs — eine Abfolge von Benutzeraktionen und Systemereignissen, die einem Fehler vorausgehen.
  • Source maps — Entschleierung von minimiertem Code zur Wiederherstellung eines lesbaren Aufrufstapels in der Produktion.
  • Performance Tracing — Überwachung der Transaktionsausführungszeit mit verteilter Ablaufverfolgung über alle Dienste hinweg.

Was ist Sentry in der Entwicklung

Sentry ist eine 2012 gegründete Open-Source-Plattform für Crash-Reporting und Leistungsüberwachung. Sie ermöglicht Entwicklern, Echtzeit-Fehlerbenachrichtigungen mit vollständigem Diagnosekontext zu erhalten: Aufrufstapel, Variablenwerte zum Zeitpunkt des Absturzes, Abfolge von Benutzeraktionen vor dem Fehler und Umgebungszustand.

Im Gegensatz zu aggregierten Crash-Reporting-Diensten (Google Play Console, App Store Connect), die nur Statistiken und einfache Diagramme liefern, zeigt Sentry jedes Ereignis einzeln mit der Möglichkeit der Gruppierung nach Fehlertyp und Filterung nach App-Version an. Ein Issue in Sentry ist eine Gruppe von Ereignissen mit demselben Stacktrace, sodass man nicht in Tausenden identischer Abstürze untergeht, sondern sich auf die Behebung der Grundursache mit vollständigem Kontext konzentrieren kann.

Laut Sentry (2025) verkürzt sich die durchschnittliche Fehlererkennungszeit nach der Implementierung des Sentry SDK von 30 Minuten auf 30 Sekunden, und die Diagnosezeit wird dank automatischer Breadcrumbs und Umgebungskontext um 60% reduziert. Die Plattform wird von über 100.000 Organisationen weltweit genutzt, darunter Airbnb, Microsoft, Instagram und PayPal, und verarbeitet täglich Milliarden von Ereignissen.

Sentry-Architektur: SDK, Relay und Ereignisverarbeitung

Das Sentry-System besteht aus drei Hauptkomponenten: SDK auf der Anwendungsseite, Relay (Proxy-Server) und Ereignisverarbeitungs-Backend. Sentry SDK ist eine in die Anwendung eingebettete Bibliothek, die Ausnahmen abfängt, Kontext sammelt und Ereignisse über das JSON/HTTPS-Protokoll an Relay sendet.

Sentry Relay

Relay ist ein Zwischenserver, der in der Unternehmensinfrastruktur bereitgestellt werden kann. Er empfängt Ereignisse vom SDK, filtert sie nach Regeln (PII-Daten, unnötige Ereignisse), puffert und leitet sie an Sentry SaaS oder eine eigene Instanz weiter. Relay gewährleistet geringe Latenz — die typische Ereignisempfangszeit beträgt 500–1500 ms.

Eingehender Datenfilter

Sentry bietet integrierte Filter, um unerwünschte Ereignisse zu verwerfen, bevor sie an den Server gesendet werden: Fehler aus Testumgebungen, Fehler von alten App-Versionen, doppelte Ereignisse mit demselben Fingerabdruck. Filtering spart in einem typischen Produktionsprojekt bis zu 70% des Datenvolumens und senkt die Verbrauchskosten sowie die Last des Gerätekommunikationskanals.

Einrichtung des Sentry SDK für iOS und Android

Die Installation des Sentry SDK für mobile Plattformen dauert 5–10 Minuten und erfordert das Hinzufügen einer Abhängigkeit und die Initialisierung mit einem DSN-Schlüssel. DSN (Data Source Name) ist eine eindeutige Projektkennung in Sentry, die angibt, wohin Ereignisse gesendet werden sollen.

Einrichtung auf Android

Für Android bietet Sentry eine automatische Instrumentierung über ein Gradle-Plugin. Das Plugin modifiziert den Bytecode während der Kompilierung und fügt Wrapper für alle Activities, Fragments und Netzwerkaufrufe hinzu. Auto-instrumentation wird mit einer einzigen Option in build.gradle aktiviert und ermöglicht es, Breadcrumbs aus dem Anwendungslebenszyklus zu erhalten, ohne Code zu ändern.

kotlin
import io.sentry.Sentry

class App : Application() {
    override fun onCreate() {
        super.onCreate()
        Sentry.init { options ->
            options.dsn = "https://example@sentry.io/project"
            options.tracesSampleRate = 0.2
            options.enableAutoSessionTracking = true
        }
    }
}

Der Code initialisiert das Sentry SDK in einer Android-Anwendung. Der Parameter tracesSampleRate = 0.2 aktiviert das Performance-Tracing für 20% der Sitzungen, enableAutoSessionTracking erstellt automatisch Sitzungen für jeden App-Start.

Einrichtung auf iOS

Das iOS-SDK unterstützt CocoaPods, Swift Package Manager und Carthage. Nach der Installation fängt das SDK automatisch NSException, Signale (SIGABRT, SIGSEGV) und Swift-Fehler ab. Sentry Cocoa SDK ist kompatibel mit iOS 12+ und macOS 10.13+, unterstützt Swift Concurrency (async/await) und automatische Instrumentierung von URLSession.

swift
import Sentry

class AppDelegate: UIResponder, UIApplicationDelegate {
    func application(
        _ application: UIApplication,
        didFinishLaunchingWithOptions options: [UIApplication.LaunchOptionsKey: Any]?
    ) -> Bool {
        SentrySDK.start { options in
            options.dsn = "https://example@sentry.io/project"
            options.enableAutoPerformanceTracing = true
        }
        return true
    }
}

Der Swift-Code aktiviert das Sentry SDK mit automatischer Leistungsmetriksammlung. enableAutoPerformanceTracing aktiviert die Überwachung der Bildschirmladezeit und von HTTP-Anfragen ohne zusätzlichen Code.

Breadcrumbs sind eine chronologische Abfolge von Ereignissen, die einem Fehler vorausgehen. Sentry zeichnet automatisch Breadcrumbs für Tastendrücke, Bildschirmübergänge, HTTP-Anfragen und Systembenachrichtigungen auf. Der Entwickler kann benutzerdefinierte Breadcrumbs für die Geschäftslogik hinzufügen.

Jeder Breadcrumb enthält einen Zeitstempel, Ereignistyp (navigation, http, ui, error), Kategorie und beliebige Daten. Wenn ein Fehler auftritt, werden alle Breadcrumbs der letzten 2–5 Minuten (konfigurierbar) an das Ereignis angehängt. Dieser Kontext ist oft wichtiger als der Stacktrace selbst: Der Entwickler sieht, dass der Benutzer nach der Produktauswahl auf „Bezahlen“ geklickt hat und erst dann der Absturz erfolgte. Die maximale Anzahl von Breadcrumbs beträgt standardmäßig 200, danach werden die ältesten Aufzeichnungen automatisch entfernt.

kotlin
Sentry.addBreadcrumb(
    Breadcrumb().apply {
        category = "payment"
        message = "User tapped Pay button"
        type = "user"
        level = BreadcrumbLevel.INFO
        data["amount"] = "19.99"
        data["currency"] = "USD"
    }
)

Der Code fügt einen benutzerdefinierten Breadcrumb für eine Benutzeraktion im Zahlungsszenario hinzu. Wenn nach dieser Aktion ein Fehler auftritt, sieht der Entwickler in Sentry, dass der Benutzer auf „Bezahlen“ mit dem Betrag von 19,99 USD geklickt hat, was eine schnelle Lokalisierung des Problems im Zahlungsablauf ermöglicht.

Benutzerkontext

Sentry ermöglicht das Anhängen von Benutzerinformationen an Ereignisse: ID, Benutzername, E-Mail. User context wird automatisch mit allen Ereignissen derselben Sitzung übermittelt, sodass Fehler nach Benutzern gruppiert werden können und ermittelt werden kann, wie viele Benutzer von einem bestimmten Fehler betroffen waren. Es ist wichtig, die Datenschutzrichtlinie einzuhalten und keine personenbezogenen Daten zu übermitteln, wenn dies von der Anwendungsrichtlinie nicht erlaubt ist.

Source Maps und Debugsymbole

In Produktionsbuilds von iOS und Android ist der Code normalerweise minimiert oder verschleiert. Ohne Verarbeitung enthält der Fehlerstapel unverständliche Namen wie „a.b()“ anstelle von „UserViewModel.fetchData()“. Source maps (JavaScript) und debug symbols (dSYM für iOS, ProGuard-Mapping für Android) stellen einen lesbaren Stapel wieder her.

Für Android lädt Sentry ProGuard-Mapping-Dateien während des Release-Builds automatisch über das Gradle-Plugin hoch. Für iOS müssen dSYM-Dateien hochgeladen werden — Sentry stellt ein Skript für den automatischen Upload während der Archivierung bereit. Ohne Debugsymbole ist der Fehlerstapel in Sentry für den Entwickler nutzlos, daher sollte der Upload-Prozess ein obligatorischer Schritt in der CI/CD-Pipeline sein.

Leistungsüberwachung mit Sentry

Seit Version 2020 enthält Sentry die Leistungsüberwachung — Sammlung von Transaktionsausführungszeitmetriken mit verteilter Ablaufverfolgung. Eine Transaction in Sentry ist eine messbare Arbeitseinheit: Bildschirmladung, API-Anfrageausführung, Hintergrundaufgabenverarbeitung. Jede Transaktion enthält untergeordnete Spans, die anzeigen, welche spezifischen Schritte die meiste Zeit in Anspruch genommen haben.

Die Leistungsüberwachung in Sentry ist mit der Fehlerverfolgung integriert: Wenn eine Transaktion mit einem Fehler endet, wird der entsprechende Span mit dem Status “error“ markiert, und der Entwickler kann von den Leistungsmetriken zu den Ausnahmedetails wechseln. Trace ID verknüpft alle Ereignisse (Fehler, Transaktionen, Breadcrumbs) in einer einzigen Sitzung für eine durchgängige Analyse und ermöglicht einen nahtlosen Übergang zwischen den Registerkarten Issues und Performance in einem einzigen Sentry-Dashboard.

Laut Sentry Performance Benchmark (2024) verbraucht eine Anwendung mit aktivierter Leistungsüberwachung (10% Abtastrate) 2–5% mehr Datenverkehr und 1–2% mehr CPU-Ressourcen auf dem Gerät. Dieser Overhead wird durch eine 70%ige Reduzierung der Leistungsdiagnosezeit im Vergleich zum manuellen Profiling ausgeglichen.

Häufig gestellte Fragen

Wie unterscheidet sich Sentry von Firebase Crashlytics?

Sentry bietet mehr Kontext: Breadcrumbs, benutzerdefinierte Daten, Verknüpfung von Fehlern mit der Leistung. Firebase Crashlytics ist ein kostenloses Tool mit grundlegendem Crash-Reporting, jedoch ohne verteilte Ablaufverfolgung und ohne die Möglichkeit einer benutzerdefinierten Breadcrumb-Instrumentierung. Sentry eignet sich für Projekte, die eine tiefgehende Diagnose benötigen.

Wie viel kostet Sentry für eine mobile Anwendung?

Sentry bietet einen kostenlosen Tarif mit 5.000 Ereignissen pro Monat (Fehler + Transaktionen). Der kostenpflichtige Team-Tarif kostet 26 US-Dollar pro Benutzer und Monat und umfasst 100.000 Ereignisse. Für große Projekte steht ein Business-Tarif mit unbegrenztem Volumen und individuellem Preis zur Verfügung.

Wie behandelt Sentry personenbezogene Daten in Fehlern?

Sentry bietet einen integrierten Data Scrubbing-Mechanismus: automatische Entfernung von E-Mails, IP-Adressen, Kreditkarten und anderen PII-Daten aus Ereignissen vor deren Speicherung. Die Scrubbing-Regeln werden in der Weboberfläche oder in der Relay-Konfiguration mit Unterstützung für reguläre Ausdrücke konfiguriert. Es wird empfohlen, Scrubbing auf SDK-Ebene zu aktivieren, damit vertrauliche Daten das Gerät des Benutzers nicht verlassen.

Kann Sentry auf eigenen Servern betrieben werden?

Ja, Sentry hat eine vollständig quelloffene selbst gehostete Version. Self-hosted Sentry wird über Docker Compose bereitgestellt und enthält alle Funktionen der SaaS-Version. Erforderliche Mindestserverkonfiguration: 4 vCPU, 16 GB RAM, 100 GB Festplattenspeicher für die Ereignisspeicherung.

Unterstützt Sentry SwiftUI und Jetpack Compose?

Ja, das Sentry SDK unterstützt SwiftUI (iOS 13+) und Jetpack Compose (Android) vollständig. Für SwiftUI erstellt das SDK automatisch Transaktionen für NavigationView und List mit Messung der Renderzeit. Für Jetpack Compose ist eine benutzerdefinierte Integration über CompositionLocalProvider erforderlich, um den Sentry-Kontext an Composables zu übergeben.

Zusammenfassung

  • Sentry ist eine Open-Source-Plattform für Fehlerverfolgung und Leistungsüberwachung, die von über 100.000 Organisationen genutzt wird.
  • Architektur umfasst Geräte-SDK, Relay-Proxy und Ereignisverarbeitungs-Backend mit Unterstützung für Self-Hosted- und SaaS-Bereitstellung.
  • Breadcrumbs bieten eine Chronologie der Benutzeraktionen vor dem Fehler, die für die Diagnose komplexer Fehler von entscheidender Bedeutung ist.
  • Source Maps und dSYM stellen lesbare Aufrufstapel aus verschleiertem Produktionscode wieder her.
  • Performance Tracing ist in die Fehlerverfolgung integriert und ermöglicht die Navigation von Zeitmetriken zu Fehlerdetails über eine einzige Trace-ID.
  • Auto-instrumentation deckt Activity, ViewController, HTTP-Anfragen und den Anwendungslebenszyklus ohne manuellen Code ab.
  • Die Implementierung von Sentry wird für jede Produktionsanwendung empfohlen: Der kostenlose Tarif deckt 5.000 Ereignisse pro Monat ab, was für kleine und mittlere Projekte ausreicht.

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.

Projekt besprechen

Lesen Sie auch