January 10, 2023

Getting started with BugSnag

What is Bugsnag?

Bugsnag is a stability monitoring solution which captures unhandled exceptions, diagnostic data, and version information in browser, mobile and server-side applications via open source SDKs for 50+ software platforms. By default, Bugsnag libraries capture all crashes (handled exceptions are optional), version numbers, and session information to help engineering teams proactively surface issues and save time fixing bugs. In addition to capturing key diagnostic data (including: stack traces, breadcrumbs, environment info) with crashes, custom diagnostics (such as A/B testing variants or customer tiers) can be added to error reports.

Within Bugsnag, individual crashes are grouped together by root cause and display as unique errors to enable straightforward prioritization; the error inbox can be sorted by event count, impacted users, error severity, or it can be narrowed down to display a list of errors meeting a specific search criteria. Users have the ability to segment their errors by stack trace contents, application versions, user information, and custom data. Stability scores are calculated for application versions from the count of unhandled exceptions and overall sessions in each version — Sessions can also be manually defined to support a variety of use cases. The stability scores provide a definitive metric for assessing the health of any application in production, which should be closely monitored by engineers to determine when to fix bugs or build new features.

What are the benefits of using this tool?

  • Knowing the number of occurrences and users impacted by an error helps you prioritize bugs
  • Storing all your diagnostic data in one place enables you to reproduce and fix errors quickly
  • Tracking stability metrics allows you to assess the performance of application releases
  • Integrations with tools (Slack, JIRA, PagerDuty) create a seamless debugging workflow
  • Collaborative features help you move fast and promote accountability across the team

How will Bugsnag fit into our current process?

Bugsnag can help your team balance developmental agility with application stability by serving as your primary system for error detection and prioritization. Create team initiatives around the stability scores, so individuals know when they should be building new features or heads down fixing bugs. If you already have debugging workflow, Bugsnag can complement this process by helping you understand the scope of each issue to effectively prioritize. If you do not have a consistent debugging workflow, or think your current workflow could be improved, consider using Bugsnag at the core of this process and standardizing across teams.

Sample workflow for proactive stability monitoring and bug prioritization with Bugsnag

  1. Configure Bugsnag to detect unhandled & handled errors in your applications and alert the appropriate team via chat (ex. Slack or on-call integration (ex. PagerDuty)
  2. Monitor important application versions and various release stages (dev, beta, staging, production) for low stability scores, newly introduced errors or sudden error spikes
  3. Triage the error inbox by ignoring errors with minimal impact, snoozing those to keep an eye on, and assigning or opening tickets (ex. Jira for errors that should be fixed
  4. Prioritize errors according to user impact, revenue-dependent areas of code, or subscription levels
  5. Assign prioritized errors to the relevant owner, notify them, and move into the debugging workflow via an issue tracker integration (ex. Jira so the issues can be resolved
  6. Identify bug owners based on git blame, code ownership, on-call rotation, or other internal heuristics
  7. After the bug is fixed or issue closed in Jira, the Bugsnag error will be marked as fixed via two-way sync integration (if supported) and will re-open if the issue persists
For more information about how to best incorporate Bugsnag into your existing workflows, visit the Best Practices page.

Onboarding & Setup

Installing the Bugsnag notifiers in your applications should take less than 15 minutes. Exact configuration steps vary by platform but this list can be referenced as a universal setup guide.

As a Bugsnag Admin , follow these steps to get your team

up and running:

  1. Request access to Bugsnag by following your organization’s internal procedure
  2. After accepting your invitation to join, sign in to the existing Bugsnag organization and create a new project
    a. Choose your platform and name your project after the application you wish to monitor
    b. During project creation, invite other team members supporting the application as collaborators
  3. Install and configure the appropriate error reporting library (Bugsnag notifier) for your application’s platform
    a. If your platform is not officially supported, use our error reporting API to write your own library
    b. Initialize Bugsnag in your application by setting your project’s API key
    c. Set the notifier to report handled exceptions (unhandled exceptions are automatically reported)
    d. Confirm the notifier is set to report release stages, versions and automatic or manual session data
    e. Consider adding user details, custom breadcrumbs or metadata to your error reports for further diagnostics
  4. Upload your source maps or dSYMs to get readable stack traces with your error reports
  5. Send your first error report to the Bugsnag dashboard and confirm information accuracy
  6. Repeat the project creation and notifier installation process for all applications you wish to monitor with Bugsnag
  7. Customize your Bugsnag notifications from Settings > Email notifications > For all projects or each project individually
  8. Integrate your Bugsnag projects with the rest of your toolchain (Slack, JIRA, Github, PagerDuty) from Settings > Integrations

As a Bugsnag Collaborator, follow these steps to get yourself up and running:

  1. Accept your invitation to join and sign in to the existing Bugsnag organization
  2. Confirm you have access to all of the Bugsnag projects owned/supported by your team
    a. Refer to the Bugsnag Admin that invited you to the organization for confirmation
  3. Customize your Bugsnag notifications from Settings > Email notifications > For all projects or each project individually

Success Metrics

Before implementing a new tool or process, it’s helpful to understand the challenges you’re experiencing and how you expect the new tool/process will alleviate those challenges. Engineering managers or team leads should take stock of how the team is performing now (pre-Bugsnag) and set realistic goals or success metrics for the future — this information can be used to quantify the value added by Bugsnag post-implementation.

Sample metrics and goals for your Bugsnag implementation

BugSnag helps you prioritize and fix software bugs while improving your application stability
Request a demo