Managing event usage

Take control over which events we save and count towards your event quota.

BugSnag plans come with a daily quota on the number of events we capture and save. We provide two options for handling daily event quota overages, capture every event and rate limiting.

Whichever event overage strategy you prefer, take control of which events we save to get the most out of BugSnag.

You can configure your BugSnag notifier library to control which events get reported from your app to BugSnag. Most of our libraries provide the ability to ignore errors by release stage, error class, severity or any other criteria by using before notify callbacks. See the configuration documentation page for your platform to learn more.

Terminology

Events received by BugSnag will either be saved, rate-limited, or discarded.

Saved

Saved events have been stored and are available in your dashboard for searching and segmenting. They can trigger notifications and workflow automations.

Rate-limited

Rate-limited events are not saved in order to stay within your BugSnag plan’s daily event quota when rate limiting is enabled.

As quota is constantly being accrued, you will always have some coverage spread throughout the day.

Prior to June 2023, we referred to error rate limiting as “sampling”. We changed the name to more accurately represent the functionality. We have not changed the behavior.

Discarded

Discarded events that are not saved due to your in-app settings. They don’t count against your daily event quota.

Events can be discarded based on a number of criteria:

Discarding errors in BugSnag

Discard individual errors

Individual errors can be discarded. When discarded, existing events will remain in the dashboard and any future events will not be stored.

You can also delete errors from the dashboard and choose whether to discard future occurrences or save them as a new error.

To discard an individual error:

  • Select Discard from the additional actions menu when viewing an error.

    Discard error

A list of discarded errors on a project can be viewed in Project Settings:

  • In Project Settings, select Discard specific errors.

    Discarded errors

  • To prevent an error from being discarded and start storing it again, click on the X next to the error.

Discard by error class

All events that match named error classes can be discarded. To configure the error classes to discard:

  • In Project Settings select Discard by error class.

  • Enter the names of any error classes to discard separated by new lines, then select Save.

    Discard by class

Discard by app version

All events received from particular versions of your app can be discarded. To configure the app versions to discard:

  • In Project Settings select Discard by app version.

  • Enter the details of the versions of your app to discard, then select Save.

    Discard by version

  • The versions can be expressed as regular expressions and semver ranges. Multiple versions or version ranges can be specified on new lines.

Discard errors from legacy browsers

Errors can be discarded from legacy browser versions or any specified browser versions. This option is available for browser JavaScript projects only.

To discard errors from legacy browsers:

  • In Project Settings select Discard errors from legacy browsers.

  • Confirm by selecting Discard errors from legacy browsers >.

  • Define individual versions for each browser if required, then select Save.

    Discard legacy browsers

Allowed domains

You may not wish to see errors from scripts that are not part of your app. This option is available for browser JavaScript projects only.

When configured, the script source of each error’s innermost stack trace’s top frame is checked. If the script was not served from a matching domain the error will not be processed by BugSnag and will be discarded.

To setup a list of allowed domains from which errors will be processed by BugSnag:

  • In Project Settings select Allowed domains.

  • Enter a list of newline seperated domain names excluding the protocol (http/https). For example, to allow example.com and its subdomains enter *.example.com.

  • Selected Update allowed domains

    Allowed domains