Sentry — wat is het, principes en foutverzameling

Auteur: IT Sectr Gepubliceerd: 2026-05-29 Leestijd: 8 min

Sentry is een platform voor het volgen van fouten en het monitoren van de prestaties van applicaties in realtime, dat ontwikkelaars volledige context van elke storing biedt. Volgens Sentry Documentation, 2025 verwerkt Sentry meer dan 10 miljard gebeurtenissen per dag en biedt integratie met 90+ talen en frameworks voor iOS, Android, web en backend.

Belangrijkste punten

  • Sentry — open-source platform voor foutvolging en prestatiemonitoring dat 90+ talen en platforms ondersteunt.
  • Error events — automatische verzameling van uitzonderingen met volledige stacktrace, variabelewaarden en apparaatstatus.
  • Breadcrumbs — reeks gebruikersacties en systeemgebeurtenissen die aan de fout voorafgaan.
  • Source maps — deobfuscatie van geminificeerde code om leesbare call stack te herstellen in productie.
  • Performance Tracing — monitoring van uitvoeringstijd van transacties met distributed tracing door alle services.

Wat is Sentry in ontwikkeling

Sentry is een open-source platform voor crashrapportage en prestatiemonitoring, opgericht in 2012. Het stelt ontwikkelaars in staat meldingen van fouten in realtime te ontvangen met volledige diagnostische context: call stack, variabelewaarden op het moment van de fout, reeks gebruikersacties voor de fout en omgevingsstatus.

In tegenstelling tot geaggregeerde crashrapportagediensten (Google Play Console, App Store Connect) die alleen statistieken en basisgrafieken bieden, toont Sentry elke gebeurtenis afzonderlijk met de mogelijkheid te groeperen op fouttype en te filteren op app-versie. Issue in Sentry is een groep gebeurtenissen met dezelfde stacktrace, waardoor je niet verdrinkt in duizenden identieke crashes maar je kunt concentreren op het oplossen van de oorzaak met volledige context.

Volgens Sentry (2025) wordt de gemiddelde detectietijd van fouten verminderd van 30 minuten naar 30 seconden na implementatie van Sentry SDK, en de diagnosetijd met 60% dankzij automatische breadcrumbs en omgevingscontext. Het platform wordt gebruikt door meer dan 100.000 organisaties wereldwijd, waaronder Airbnb, Microsoft, Instagram en PayPal, en verwerkt dagelijks miljarden gebeurtenissen.

Architectuur van Sentry: SDK, Relay en gebeurtenisverwerking

Het Sentry-systeem bestaat uit drie hoofdcomponenten: SDK aan de app-kant, Relay (proxyserver) en backend voor gebeurtenisverwerking. Sentry SDK is een bibliotheek die in de app wordt geïntegreerd, uitzonderingen opvangt, context verzamelt en gebeurtenissen naar Relay stuurt via het JSON/HTTPS-protocol.

Sentry Relay

Relay is een tussenliggende server die in de infrastructuur van het bedrijf kan worden geïmplementeerd. Het ontvangt gebeurtenissen van SDK, filtert op regels (PII-gegevens, onnodige gebeurtenissen), buffert en stuurt door naar Sentry SaaS of een eigen instantie. Relay zorgt voor lage verzendlatentie — typische ontvangsttijd van een gebeurtenis is 500–1500 ms.

Inbound Data Filter

Sentry biedt ingebouwde filters voor het afwijzen van ongewenste gebeurtenissen zonder ze naar de server te sturen: fouten uit testomgevingen, fouten van oude app-versies, herhaalde gebeurtenissen met dezelfde fingerprint. Filtering bespaart tot 70% van het datavolume in een typisch productieproject, waardoor de kosten en de belasting van het communicatiekanaal van het apparaat worden verminderd.

Configuratie van Sentry SDK voor iOS en Android

Installatie van Sentry SDK voor mobiele platforms duurt 5–10 minuten en vereist het toevoegen van een afhankelijkheid en initialisatie met een DSN-sleutel. DSN (Data Source Name) is de unieke identificatie van het project in Sentry die aangeeft waar gebeurtenissen naartoe moeten worden gestuurd.

Configuratie op Android

Voor Android biedt Sentry automatische instrumentatie via een Gradle-plugin. De plugin wijzigt bytecode tijdens compilatie en voegt wrappers toe voor alle Activity, Fragment en netwerkoproepen. Auto-instrumentation wordt ingeschakeld met één optie in build.gradle en maakt het mogelijk breadcrumbs uit de levenscyclus van de app te ontvangen zonder code te wijzigen.

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

De code initialiseert Sentry SDK in een Android-app. Parameter tracesSampleRate = 0.2 schakelt performance tracing in voor 20% van de sessies, enableAutoSessionTracking maakt automatisch sessies aan voor elke keer dat de app wordt gestart.

Configuratie op iOS

SDK voor iOS ondersteunt CocoaPods, Swift Package Manager en Carthage. Na installatie onderschept SDK automatisch NSException, signalen (SIGABRT, SIGSEGV) en Swift-fouten. Sentry Cocoa SDK is compatibel met iOS 12+ en macOS 10.13+, ondersteunt Swift Concurrency (async/await) en automatische instrumentatie van 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
    }
}

De code in Swift activeert Sentry SDK met automatische verzameling van prestatiemetingen. enableAutoPerformanceTracing schakelt monitoring van laadtijd van schermen en HTTP-verzoeken in zonder extra code.

Breadcrumbs zijn een chronologische reeks gebeurtenissen die aan de fout voorafgaan. Sentry registreert automatisch breadcrumbs voor klikken op knoppen, overgangen tussen schermen, HTTP-verzoeken en systeemmeldingen. De ontwikkelaar kan aangepaste breadcrumbs toevoegen voor bedrijfslogica.

Elke breadcrumb bevat een tijdstempel, gebeurtenistype (navigation, http, ui, error), categorie en willekeurige gegevens. Wanneer een fout optreedt, worden alle breadcrumbs van de laatste 2–5 minuten (instelbaar) aan de gebeurtenis gekoppeld. Deze context is vaak belangrijker dan de stacktrace zelf: de ontwikkelaar ziet dat de gebruiker op „Betalen” heeft geklikt na het selecteren van een product en dat daarna de crash plaatsvond. Het maximale aantal breadcrumbs is standaard 200, waarna de oudste gegevens automatisch worden verwijderd.

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

De code voegt een aangepaste breadcrumb toe voor een gebruikersactie in het betalingscenario. Als na deze actie een fout optreedt, zal de ontwikkelaar in Sentry zien dat de gebruiker op „Pay” heeft geklikt met een bedrag van 19,99 USD, waarmee het probleem in de betalingsstroom snel kan worden gelokaliseerd.

User context

Sentry maakt het mogelijk om gebruikersinformatie aan gebeurtenissen te koppelen: ID, gebruikersnaam, e-mail. User context wordt automatisch meegestuurd met alle gebeurtenissen uit één sessie, waardoor fouten per gebruiker kunnen worden gegroepeerd en kan worden bepaald hoeveel gebruikers door een specifieke bug zijn getroffen. Het is belangrijk de privacy policy te respecteren en geen persoonlijke gegevens te versturen als dit niet is toegestaan door het app-beleid.

Source maps en debug-symbolen

In productieversies van iOS en Android is code meestal geminificeerd of geobfusceerd. Zonder verwerking bevat de foutstack onbegrijpelijke namen zoals „a.b()” in plaats van „UserViewModel.fetchData()”. Source maps (JavaScript) en debug symbols (dSYM voor iOS, ProGuard mapping voor Android) herstellen de leesbare stack.

Voor Android laadt Sentry automatisch ProGuard mapping-bestanden via de Gradle-plugin bij het bouwen van de releaseversie. Voor iOS is het uploaden van dSYM-bestanden vereist — Sentry biedt een script voor automatische upload tijdens het archiveren. Zonder debug-symbolen is de foutstack in Sentry nutteloos voor de ontwikkelaar, dus het uploadproces moet een verplichte stap zijn in de CI/CD-pipeline.

Prestatiemonitoring via Sentry

Vanaf versie 2020 bevat Sentry prestatiemonitoring — het verzamelen van tijdmetingen van transacties met distributed tracing. Transaction in Sentry is een meetbare werkeenheid: het laden van een scherm, het uitvoeren van een API-verzoek, het verwerken van een achtergrondtaak. Elke transactie bevat child-spans die laten zien welke stappen de meeste tijd in beslag namen.

Prestatiemonitoring in Sentry is geïntegreerd met error tracking: als een transactie eindigt met een fout, wordt de bijbehorende span gemarkeerd met de status ”error” en kan de ontwikkelaar van de prestatiemetriek naar de uitzonderingsdetails gaan. Trace ID verbindt alle gebeurtenissen (fouten, transacties, breadcrumbs) in één sessie voor end-to-end-analyse en zorgt voor een naadloze overgang tussen de tabbladen Issues en Performance in het uniforme dashboard van het Sentry-platform.

Volgens Sentry Performance Benchmark (2024) verbruikt een app met ingeschakelde prestatiemonitoring (bemonsteringsfrequentie 10%) 2–5% meer verkeer en 1–2% meer CPU-bronnen op het apparaat. Deze belasting wordt gecompenseerd door een verkorting van de prestatiediagnosetijd met 70% in vergelijking met handmatig profileren.

Veelgestelde vragen

Waarin verschilt Sentry van Firebase Crashlytics?

Sentry biedt meer context: breadcrumbs, aangepaste gegevens, koppeling van fouten aan prestaties. Firebase Crashlytics is een gratis tool met basis crashrapportage, maar zonder distributed tracing en zonder de mogelijkheid tot aangepaste instrumentatie van breadcrumbs. Sentry is geschikt voor projecten die diepgaande diagnostiek vereisen.

Wat kost Sentry voor een mobiele app?

Sentry biedt een gratis tarief voor 5.000 gebeurtenissen per maand (fouten + transacties). Het betaalde Team-tarief kost 26 dollar per gebruiker per maand en omvat 100.000 gebeurtenissen. Voor grote projecten is het Business-tarief beschikbaar met onbeperkt volume en een individuele prijs.

Hoe verwerkt Sentry persoonsgegevens in fouten?

Sentry biedt een ingebouwd Data Scrubbing-mechanisme: automatische verwijdering van e-mails, IP-adressen, creditcards en andere PII-gegevens uit gebeurtenissen voordat ze worden opgeslagen. De scrubregels worden geconfigureerd in de webinterface of in de Relay-configuratie met ondersteuning voor reguliere expressies. Het wordt aanbevolen scrubbing op SDK-niveau in te schakelen zodat vertrouwelijke gegevens het apparaat van de gebruiker niet verlaten.

Kan Sentry op eigen servers worden uitgevoerd?

Ja, Sentry heeft een volledig open-source self-hosted versie. Self-hosted Sentry wordt geïmplementeerd via Docker Compose en bevat alle functies van de SaaS-versie. Minimale serverconfiguratie vereist: 4 vCPU, 16 GB RAM, 100 GB schijfruimte voor het opslaan van gebeurtenissen.

Ondersteunt Sentry SwiftUI en Jetpack Compose?

Ja, Sentry SDK ondersteunt volledig SwiftUI (iOS 13+) en Jetpack Compose (Android). Voor SwiftUI maakt SDK automatisch transacties aan voor NavigationView en List met meting van de renderingstijd. Voor Jetpack Compose is een aangepaste integratie via CompositionLocalProvider vereist om de Sentry-context door te geven aan Composables.

Conclusie

  • Sentry is een open-source platform voor foutvolging en prestatiemonitoring, gebruikt door meer dan 100.000 organisaties.
  • Architectuur omvat SDK op het apparaat, Relay-proxy en backend voor gebeurtenisverwerking met ondersteuning voor self-hosted en SaaS-implementatie.
  • Breadcrumbs bieden een chronologie van gebruikersacties voor de fout, cruciaal voor het diagnosticeren van complexe bugs.
  • Source maps en dSYM herstellen leesbare call stacks uit geobfusceerde productiecode.
  • Performance Tracing is geïntegreerd met error tracking, waardoor via een uniform trace ID van tijdmetingen naar foutdetails kan worden genavigeerd.
  • Auto-instrumentation dekt Activity, ViewController, HTTP-verzoeken en de app-levenscyclus zonder handmatige code.
  • Implementatie van Sentry wordt aanbevolen voor elke productie-app: het gratis tarief dekt 5.000 gebeurtenissen per maand, voldoende voor kleine en middelgrote projecten.

We ontwikkelen een mobiele applicatie turnkey

IT Sectr creëert sinds 2017 iOS- en Android-applicaties voor startups en bedrijven. We adviseren u en stellen de beste oplossing voor.

Bespreek het project

Lees ook