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.

With rate-limiting, BugSnag maintains an event balance with credit accruing constantly throughout the day. Each time we receive an event, your event balance is reduced; if your balance reaches zero, rate limiting will start. As credit is constantly being accrued, you will always have some coverage spread throughout the day.

See project event caps for more information on how to manage your event quota at the project level.

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:

Project event caps

Project event caps are only available with Enterprise plans. Contact us to learn more or add this feature to your BugSnag organization.

To independently control the number of events that can be saved to individual projects, you can configure project event caps. By default, projects have no event cap and will consume from your organization’s quota.

Any project event caps are set to be a percentage of your organization’s event quota. We maintain a separate event balance for any project with an event cap configured.

You can set a default project event cap under Organization settings > Set default project event cap, which will automatically apply to all projects in your organization.

When a project event balance reaches zero, events for that project will be rate limited. Just like with your organization’s event balance, your project credit accrues constantly so you will always have some coverage for the project throughout the day. You can discard errors to manage your project event quota.

When configuring your project event caps, the sum of all caps can exceed 100%. However if your organization’s event quota is exceeded events will be rate-limited across all projects. Similarly if you have not set a project event cap for some projects, events will be rate-limited across all projects if your organization quota is exceeded.

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