Quota Management
Data and quotas are interconnected in Sentry. When you subscribe to Sentry, you pay for the amount of data — events (errors, replays, transactions, and transactions with profiling), and attachments — to be tracked. Each data category has its own
To see which projects are using up your quota, you can review the "Usage" tab of Stats. This page can be viewed by any member of your organization and can be shared by a team member with Owner or Billing-level permissions with the developers directly responsible for a given
You can also download a project breakdown report in the "Usage History" tab of Settings > Subscriptions (only accessible to Owner and Billing members of your Sentry organization).
Sentry's flexibility means you can exercise fine-grained control over which events and attachments count toward your quota. This page provides you with high-level information about strategies for managing your quota, but you can get more detailed information in:
- Spike Protection
- Spend Allocation
- Manage Your Error Quota
- Manage Your Performance Units Quota
- Manage Your Replay Quota
- Manage Your Attachments Quota
How to Manage Your Quota
There are a number of things you can do to manage your
The first 6 actions in the list can all be done in sentry.io, while the rest have to be done in an SDK.
Action | Errors | Performance Units | Replays | Attachments |
---|---|---|---|---|
Ensure spike protection is enabled | ✓ | ✓ | ✓ | |
Set a spend allocation budget | ✓ | ✓ | ✓ | |
Adjust your quota | ✓ | ✓ | ✓ | ✓ |
Rate limit your events or attachments | ✓ | ✓ | ||
Review repeated events | ✓ | |||
Filter your events | ✓ | ✓ | ✓ | |
Update your SDK sample rate | ✓ | ✓ | ||
Apply SDK filtering | ✓ | ✓ | ||
Update your SDK configuration | ✓ | ✓ | ||
Manage data size | ✓ | ✓ | ✓ |
What Counts Towards Your Quota
Sentry completes a thorough evaluation of each event to determine if it counts toward your
Before completing any of these evaluations, Sentry confirms that each event includes a valid
This list is ordered from easiest or least time-consuming, to most challenging or potentially time-consuming.
Spike Protection
Sentry's Spike Protection checks for significant overages in error events, (as compared to an established spike threshold), on a per-
Spike Protection can be enabled on a per-project basis for your organization by any team member with either Billing or Owner-level permissions. To select which project to set it up for, go to Settings > Spike Protection. You'll be able to toggle it on for individual projects or click “Enable All” to set it up for all your projects at once. Learn more about how spike protection works and how to manage spikes in Spike Protection.
Spend Allocation
Spend Allocation gives you the ability to prioritize your most important projects (or make sure that smaller projects don't get ignored). You can do this by setting aside a set amount of reserved volume (errors, performance units, replays, and attachments) to be used by those projects each month. This ensures that all the projects that are important to you are always monitored, regardless of the amount of volume other projects consume. Spend Allocation can be enabled on a per-
Adjusting Your Quota
Events and attachments that exceed your
Rate Limits
You can add limits for error events on a per-
Event Repetition
In some cases, repeated events can count against your
Inbound Filters
If an inbound filter is applied for a type of error, transaction, or attachment, and your subscription allows, it won't be counted. You can manage these in [Project] > Settings > Inbound Filters. Learn more in Manage Your Error Quota, Manage Your Performance Units Quota, Manage your Replay Quota, and Manage Your Attachments Quota.
SDK Sample Rate
If a sample rate is defined for the SDK, the SDK evaluates whether this event should be sent as a representative fraction of events, effectively limiting the number of errors and transactions you send to Sentry. Setting a sample rate is documented for each SDK, but you can also learn more in Manage Your Error Quota and Manage Your Performance Units Quota.
SDK Filtering: beforeSend
and beforeSendTransaction
All Sentry SDKs support the beforeSend
callback method, which you can use to modify the data of an error event or to drop it completely. Many also support beforeSendTransaction
. Learn more in Manage Your Error Quota and Manage Your Performance Units Quota.
SDK Configuration
The SDK configuration either allows an event to be sent to Sentry or filters it out. Configuration is documented for each SDK, but you can also learn more in Manage Your Error Quota and Manage Your Performance Units Quota.
Size Limits
Sentry imposes limits on various fields within an event, as well as the size of full events and the requests they are sent in, which can affect your attachments
What Counts Toward Your Quota - Quick Guide
Use this table as a quick reference for what does and doesn't count towards your
Scenario | Yes, this data counts |
---|---|
Spike protection activation threshold has been reached (errors) | |
Spike protection no longer active (errors) | ✓ |
Your quota hasn't been reached | ✓ |
Your quota has been exceeded | |
A rate limit for a projectRepresents your service in Sentry and allows you to scope events to a distinct application. has been applied (errors, attachments) | |
This is a repeated event for which issues were previously set to Delete & Discard (errors) | |
This is a repeated event for a previously resolved issue (errors) | ✓ |
This is a repeated event for an issue that you've set to Ignore | ✓ |
The event defies inbound filters configured in sentry.io | |
The event is sent after the SDK sample rate has been exceeded | |
The event isn't sent based on SDK filters | |
The event isn't sent based on SDK configuration | |
Size limits have been exceeded | |
Issues are created from accepted errors, transactions, and transactions with profiling |
Key Terms
Let's clarify a few terms:
- Event - An event is one instance of you sending data to Sentry, excluding attachments. Generally, this data is an error or a transaction.
- Error - What counts as an error varies by platform, but in general, if there's something that looks like an exception, it can be captured as an error in Sentry. Sentry automatically captures errors, uncaught exceptions, and unhandled rejections, as well as other types of errors, depending on platform. A grouping of similar errors makes an issue.
- Performance Unit - A performance unit represents the total number of units that can be used across different Performance event types - (Transactions or Transactions with Profiling). A Transaction consumes 1 Performance Unit and a Transaction with Profiling consumes 1.3 Performance Units.
- Transaction - A transaction represents a single instance of a service being called to support an operation you want to measure or track, like a page load. Transaction events are grouped by the transaction name.
- Transaction with Profiling - A Transaction with Profiling is sent by projects with Profiling enabled. This Transaction type provides the deepest level of visibility into the performance of your apps and consumes 1.3 Performance Units.
- Replay - Session Replays are video-like reproductions of users’ sessions as they navigate your app or website.
- Attachment - Attachments are stored additional files, such as config files, log files, or stored mini-dumps, that are related to an error event. Unless the option to store crash reports is enabled, Sentry will use these files only to create an event, and then drop them.
- Cron Monitor - A Cron Monitor represents a set of configurations for a scheduled, recurring job such as a "Data Backup" job that runs daily on production and development.
- Data - Anything you send to Sentry. This includes events (errors, transactions, transactions with profiling, or replays), attachments, and event metadata.
- Quota - Your quotaThe monthly number of events that you pay Sentry to track.is the amount of data (errors, performance units, replays, attachments) that you pay Sentry to track.
Next Steps
Our documentation is open source and available on GitHub. Your contributions are welcome, whether fixing a typo (drat!) or suggesting an update ("yeah, this would be better").