Bugsnag: What It Is, Error Tracking and Data Collection

Author: IT Sectr Published: 2026-05-29 Reading time: 8 min

Bugsnag is a platform for application error monitoring and stability that automatically detects, groups and prioritizes bugs in production environments with full diagnostic context. According to Bugsnag Documentation, 2025, Bugsnag processes 6 billion events monthly for over 7,000 clients, including Airbnb, Lyft, Slack and PagerDuty.

Key Takeaways

  • Bugsnag is an error monitoring platform with automatic error grouping, severity-based prioritization and CI/CD integration.
  • Stability Score is a metric showing the percentage of crash-free sessions, reflecting overall application stability as a percentage.
  • Severity-based triage automatically divides errors into critical, warning and info to help teams focus on what matters most.
  • Breadcrumbs record the sequence of events leading to an error, with support for custom developer attributes.
  • Release tracking links errors to a specific application version and automatically alerts when crash rates increase after a release.

What is Bugsnag in Development

Bugsnag is an application stability monitoring platform founded in 2013 and acquired by SmartBear in 2019. The main difference between Bugsnag and its competitors is its focus on stability as a key product metric, rather than just error counts. The platform provides a unified dashboard for iOS, Android, React Native, Flutter, web and backend services.

Each error in Bugsnag receives an automatic severity rating (critical, warning, info) based on context: whether a crash occurred, whether a payment function was affected, or whether the error recurs for many users. The team sees not just a list of bugs, but a prioritized backlog indicating business impact.

According to SmartBear (2024), teams using Bugsnag reduce mean time to resolution by 40% thanks to automatic duplicate grouping and full event context. The platform integrates with Slack, PagerDuty, Jira, GitHub and GitLab for automatic issue creation from errors.

Stability Score and Automatic Prioritization

Stability Score is Bugsnag's key metric, showing the percentage of sessions that completed without errors. The value is calculated as the ratio of crash-free sessions to total sessions over a period. A 99.9% score means 1 in 1,000 sessions contains an error.

Stability Score thresholds are integrated with CI/CD: if after deploying a new version the score drops below a set threshold (e.g., 99.5%), Bugsnag automatically blocks the release or sends a critical alert in Slack. The Release health dashboard shows score dynamics for each application version, allowing you to track the impact of a specific change on stability.

Severity-based triage

Bugsnag uses an automatic error classification algorithm with three severity levels. Critical — application crashes, errors in payment scenarios affecting more than 5% of users. Warning — non-fatal errors (handled exceptions) affecting individual features. Info — logs, low-priority warnings. This approach prevents alert fatigue, where hundreds of notifications prevent focusing on truly critical issues.

SeverityExampleAction
CriticalCrash on app launchImmediate notification
WarningAvatar loading errorJira task for next sprint
InfoQR scan timeoutLogging without notification

Integrating Bugsnag SDK for Mobile Platforms

Installing the Bugsnag SDK takes 5 minutes: adding a dependency and initializing with a project API key. The Bugsnag Android SDK supports Kotlin and Java, automatically intercepts Java exceptions, ANRs and Native (C/C++) errors via signals.

Android Setup

The SDK is added via Gradle and initialized in Application.onCreate. Bugsnag automatically collects device information: model, OS version, free memory, battery level. Auto-notify is enabled by default and sends all unhandled exceptions to the Bugsnag server.

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

The code initializes the Bugsnag SDK with automatic session tracking and a maximum startup time of 5 seconds. If the application does not launch within this time, Bugsnag records a "slow launch" event as a warning.

iOS Setup

The Bugsnag iOS SDK supports Swift and Objective-C, intercepts NSException, Mach exceptions (SIGABRT, SIGSEGV) and operating system signals. The SDK is compatible with iOS 11+ and SwiftUI, automatically creates breadcrumbs for all UI events: taps, transitions, gestures.

swift
import Bugsnag

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

The Swift code initializes Bugsnag with minimal configuration. All unhandled exceptions and crashes are automatically sent to the Bugsnag dashboard with full device context and call stack.

Breadcrumbs in Bugsnag are a structured log of events preceding an error. Each breadcrumb contains a timestamp, type (navigation, request, state, error, manual) and arbitrary metadata. Bugsnag automatically records breadcrumbs for UI events in iOS and Android, application state changes (background, foreground) and network requests.

Developers can add custom breadcrumbs for business logic: "user added item to cart", "order creation request sent". When an error occurs, all breadcrumbs from the last 30 seconds are attached to the event. Bugsnag also supports "state" — an arbitrary data dictionary passed with all session errors.

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

The code leaves a breadcrumb about order creation and sets additional information about the user's plan. When an error occurs in this session, Bugsnag attaches context with the order number and user type.

Session tracking

Bugsnag automatically counts sessions — each application launch is considered a new session. The ratio of error sessions to total sessions forms the Stability Score. Session tracking affects pricing: Bugsnag is licensed by the number of tracked sessions, not by error volume, distinguishing it from per-event pricing models used by Sentry and competitors.

Release Tracking and CI/CD Integration

Release tracking is a mechanism that links each error to a specific application version and repository commit. Bugsnag automatically detects the version from Info.plist (iOS) or build.gradle (Android) and displays error counts by version in the dashboard. This allows you to immediately see if a problem was introduced by the latest release.

If after deploying version 2.4.1 the number of critical errors increased 3 times compared to 2.4.0, Bugsnag marks this version as "unstable" and sends an alert. CI/CD integration allows blocking promotion of a build to staging or production if the Stability Score drops below the threshold. Plugins for Jenkins, GitHub Actions and GitLab CI pass stability metrics to the pipeline.

According to Bugsnag Stability Benchmark (2024), 68% of errors in mobile applications are introduced by new versions, rather than being long-standing bugs. Release tracking reduces regression detection time from hours to minutes after deployment.

Bugsnag vs Sentry and Crashlytics

There are three main players in the error monitoring market: Bugsnag, Sentry and Firebase Crashlytics. Bugsnag stands out with its session-based pricing model (rather than per-event), focus on Stability Score and automatic severity prioritization. Sentry offers deeper performance monitoring with distributed tracing and is open source. Crashlytics is a free solution with basic features, integrated into the Firebase ecosystem.

FeatureBugsnagSentryCrashlytics
Starting priceFree up to 5,000 sessionsFree up to 5,000 eventsFree
Performance monitoringLimitedFull with distributed tracingNo
Flutter SDKYesYesLimited
Self-hostedNoYes (open source)No
Stability ScoreYes (key metric)NoNo

The choice between tools depends on priorities: if the key metric is application stability in production, Bugsnag provides the most intuitive metric. If deep performance analysis with distributed tracing is needed — Sentry. For free basic monitoring with Google ecosystem integration — Crashlytics.

Frequently Asked Questions

How does Bugsnag determine error severity?

The algorithm considers three factors: exception type (crash or handled), number of affected users and scenario context. Critical severity is assigned if the error occurred on the main screen or in a payment flow and affected more than 1% of users. Developers can override severity manually via the API or SDK configuration.

Does Bugsnag support React Native and Flutter?

Yes, Bugsnag provides SDKs for React Native (with new architecture support) and Flutter (compatible with Dart 3.x). Both SDKs support automatic breadcrumb collection for navigation, network requests and application state, as well as custom instrumentation for business logic.

Can Bugsnag be integrated with Jira?

Yes, Bugsnag provides two-way integration with Jira: a new error can automatically create a Jira issue, and closing a Jira issue transitions the error to "resolved" status in Bugsnag. Jira Cloud and Jira Server (via Jira Connect) are supported.

How does Bugsnag affect application size?

The Bugsnag SDK adds approximately 1.5 MB to the APK/IPA size in a release build. This is less than Sentry (about 2 MB) but more than Firebase Crashlytics (about 0.8 MB). It is recommended to exclude the SDK from debug builds to speed up compilation, keeping it only for test and release configurations.

Can Bugsnag be used for backend applications?

Yes, Bugsnag supports backend languages: Ruby, Python, Node.js, Java, .NET, Go, PHP. Backend errors are displayed in the same dashboard as mobile ones, grouped by service. This allows tracking end-to-end stability: if an API goes down, the developer can see whether the problem is client-side or server-side.

Summary

  • Bugsnag is an error monitoring platform with a focus on stability metrics and automatic error prioritization by severity.
  • Stability Score — the percentage of error-free sessions, a key metric for release quality assessment and CI/CD gating.
  • Severity-based triage automatically divides errors into critical, warning and info, preventing alert fatigue.
  • Release tracking links each error to an application version and commit for rapid regression detection.
  • SDK supports iOS, Android, React Native, Flutter, as well as 9 backend languages in a unified dashboard.
  • Session-based pricing model sets Bugsnag apart from competitors and makes it budget-predictable.
  • Bugsnag is recommended for product teams where application stability is a key business metric and automatic error prioritization is required.

We will develop a mobile application turnkey

IT Sectr creates iOS and Android applications for startups and businesses since 2017. We will advise you and propose the best solution.

Discuss the project

Read also