Monitor the stability of your application and measure progress against stability targets.

Stability features are available on Preferred and Enterprise plans.

Stability is a measure of the proportion of user application sessions that are error free. It is calculated using session information and errors reported from your application.

There are two measures of stability score:

Average stability score

User stability score

User stability is the percentage of users who were error free within a given day. Where user stability is shown over a longer time period than one day it is the aggregation of daily error free users.

An anonymous device identifier generated by BugSnag is used to detect unique users and is independent of user information that you can configure. Therefore a user who opens an app then logs in will be treated as a single user for stability calculations.

User stability is not available for server side projects.

Session stability score

Session stability is the percentage of user sessions that were error free over the time period.

Stability targets

Configure your stability targets in Project settings.

Stability target type

Choose whether you want to set targets for either user stability or session stability by selecting the stability target type.

Selecting user stability is recommeneded if you track other user-based business metrics for your app.

Stability target values

Select the two levels of stability target:

  • Target stability: This is the stability score that your team aims to exceed. Any score higher than this should mean that your app is in great shape and you should continue building new features for your users.
  • Critical stability: This critical stability target is the lower threshold of what is an acceptable stability score for your app. If you fall below this target, you’ll want to focus on fixing bugs to improve your app’s stability.

Stability target indicator

The stability target indicator shows you how your stability score compares to the targets you’ve set for your project.

  • The Stability Center indicator shows how the 30-day stability score compares to your target.
  • The Releases dashboard shows how stability over the lifetime of a single release compares to your target.
Stability score indicator Definition
Average stability score This release has a higher stability score than your target stability
Below average stability score The stability score of this release is between the target stability and critical stability
Low stability score This release has a lower stability score than your critical stability

Stability alerts

Configure the daily or weekly stability summary emails to be alerted on how your project is performing against your stability targets. See stability summary emails.

Errors that impact stability

Any session in which a user experiences an “unhandled” error is considered a crashing session and will impact the stability score. Different types of unhandled errors can cause different impacts on a user: usually it will mean the app has shut down completely but some unhandled errors on some platforms are recoverable.

It’s possible for a single session to have more than one unhandled error, but it will only count as one crashed session in the stability score.

All unhandled errors events visible in the dashboard will impact the stability score, including those that are snoozed or ignored.

Rate limited events are not collected by BugSnag. Any rate limited unhandled error events will not be counted towards the stability score.

Your application will have an artificially higher stability score while it is being rate limited. This is because rate limited events do not count towards your stability score but we do continue to count sessions. Get advance warning that rate limiting may be about to start by configuring rate-limiting notifications and avoid this impact on your project’s stability score. Available on Standard and Enterprise Plans only.

Reporting sessions

Each notifier has its own default definition of a session. In general:

Platform type Session definition
Mobile An app is opened or returned to after 30s or more in the background
JavaScript (Browser) A page is loaded
Server-side A request is processed

Alternatively you can provide your own definition of a session using the startSession() function or equivalent for your platform.