Stability

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

Stability features are available on Standard 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

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.

Reporting sessions

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

Platform type Session definition
Mobile An app is opened
JavaScript (Browser) A page is loaded
Server-side A request is processed

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