{"componentChunkName":"component---src-templates-doc-tsx","path":"/product/accounts/quotas/","result":{"data":{"file":{"id":"b46688e4-3792-511a-9a29-81efcd32d2a5","relativePath":"product/accounts/quotas/index.mdx","sourceInstanceName":"docs","childMarkdownRemark":null,"childMdx":{"body":"function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\n/* @jsx mdx */\nvar _frontmatter = {\n  \"title\": \"Quota Management\",\n  \"sidebar_order\": 0,\n  \"redirect_from\": [\"/learn/quotas/\", \"/product/quotas/\"]\n};\n\nvar makeShortcode = function makeShortcode(name) {\n  return function MDXDefaultShortcode(props) {\n    console.warn(\"Component \" + name + \" was not imported, exported, or provided by MDXProvider as global scope\");\n    return mdx(\"div\", props);\n  };\n};\n\nvar Alert = makeShortcode(\"Alert\");\nvar CodeTabs = makeShortcode(\"CodeTabs\");\nvar CodeBlock = makeShortcode(\"CodeBlock\");\nvar layoutProps = {\n  _frontmatter: _frontmatter\n};\nvar MDXLayout = \"wrapper\";\nreturn function MDXContent(_ref) {\n  var components = _ref.components,\n      props = _objectWithoutProperties(_ref, [\"components\"]);\n\n  return mdx(MDXLayout, _extends({}, layoutProps, props, {\n    components: components,\n    mdxType: \"MDXLayout\"\n  }), mdx(\"p\", null, \"Events and quotas are interconnected in Sentry. At the most basic, when you \", mdx(\"a\", _extends({\n    parentName: \"p\"\n  }, {\n    \"href\": \"https://sentry.io/pricing/\"\n  }), \"subscribe to Sentry\"), \", you pay for the number of events - errors, attachments, and transactions - to be tracked. Each of these type of events has a quota. When Sentry accepts an event, it counts toward your quota for that type of event.\"), mdx(\"p\", null, \"Sentry\\u2019s flexibility means you can exercise fine-grained control over which events count toward your quota.\"), mdx(\"h2\", {\n    \"id\": \"key-terms\",\n    \"style\": {\n      \"position\": \"relative\"\n    }\n  }, mdx(\"a\", _extends({\n    parentName: \"h2\"\n  }, {\n    \"href\": \"#key-terms\",\n    \"aria-label\": \"key terms permalink\",\n    \"className\": \"anchor before\"\n  }), mdx(\"svg\", _extends({\n    parentName: \"a\"\n  }, {\n    \"viewBox\": \"0 0 24 24\",\n    \"xmlns\": \"http://www.w3.org/2000/svg\"\n  }), mdx(\"path\", _extends({\n    parentName: \"svg\"\n  }, {\n    \"d\": \"M10.879 6.05L15 1.93A5.001 5.001 0 0 1 22.071 9l-4.121 4.121a1 1 0 0 1-1.414-1.414l4.12-4.121a3 3 0 1 0-4.242-4.243l-4.121 4.121a1 1 0 1 1-1.414-1.414zm2.242 11.9L9 22.07A5 5 0 1 1 1.929 15l4.121-4.121a1 1 0 0 1 1.414 1.414l-4.12 4.121a3 3 0 1 0 4.242 4.243l4.121-4.121a1 1 0 1 1 1.414 1.414zm-8.364-.122l13.071-13.07a1 1 0 0 1 1.415 1.414L6.172 19.242a1 1 0 1 1-1.415-1.414z\",\n    \"fill\": \"currentColor\"\n  })))), \"Key Terms\"), mdx(\"p\", null, \"Let\\u2019s clarify a few terms to start:\"), mdx(\"ul\", null, mdx(\"li\", {\n    parentName: \"ul\"\n  }, \"Event - an event is one instance of you sending Sentry data. Generally, this data is an error. Every event has a set of characteristics, called its fingerprint.\"), mdx(\"li\", {\n    parentName: \"ul\"\n  }, \"Issue - an issue is a grouping of similar events, which all share the same fingerprint. For example, Sentry groups events together when they are triggered by the same part of your code. For more information, see \", mdx(\"a\", _extends({\n    parentName: \"li\"\n  }, {\n    \"href\": \"/product/sentry-basics/guides/grouping-and-fingerprints/\"\n  }), \"Grouping & Fingerprinting\"), \".\"), mdx(\"li\", {\n    parentName: \"ul\"\n  }, \"Attachment - Attachments are files uploaded in the same request, such as log files. Unless the option to store crash reports is enabled, Sentry will use the files only to create the event, and then drop the files.\"), mdx(\"li\", {\n    parentName: \"ul\"\n  }, \"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.\"), mdx(\"li\", {\n    parentName: \"ul\"\n  }, \"Quota - your quota is the monthly number of events - errors, attachments, and transactions - you pay Sentry to track.\")), mdx(\"h2\", {\n    \"id\": \"what-counts-toward-my-quota-an-overview\",\n    \"style\": {\n      \"position\": \"relative\"\n    }\n  }, mdx(\"a\", _extends({\n    parentName: \"h2\"\n  }, {\n    \"href\": \"#what-counts-toward-my-quota-an-overview\",\n    \"aria-label\": \"what counts toward my quota an overview permalink\",\n    \"className\": \"anchor before\"\n  }), mdx(\"svg\", _extends({\n    parentName: \"a\"\n  }, {\n    \"viewBox\": \"0 0 24 24\",\n    \"xmlns\": \"http://www.w3.org/2000/svg\"\n  }), mdx(\"path\", _extends({\n    parentName: \"svg\"\n  }, {\n    \"d\": \"M10.879 6.05L15 1.93A5.001 5.001 0 0 1 22.071 9l-4.121 4.121a1 1 0 0 1-1.414-1.414l4.12-4.121a3 3 0 1 0-4.242-4.243l-4.121 4.121a1 1 0 1 1-1.414-1.414zm2.242 11.9L9 22.07A5 5 0 1 1 1.929 15l4.121-4.121a1 1 0 0 1 1.414 1.414l-4.12 4.121a3 3 0 1 0 4.242 4.243l4.121-4.121a1 1 0 1 1 1.414 1.414zm-8.364-.122l13.071-13.07a1 1 0 0 1 1.415 1.414L6.172 19.242a1 1 0 1 1-1.415-1.414z\",\n    \"fill\": \"currentColor\"\n  })))), \"What Counts Toward My Quota, an Overview\"), mdx(\"p\", null, \"Sentry completes a thorough evaluation of each event to determine if it counts toward your quota, as outlined in this overview. Detailed documentation for each evaluation is linked throughout. Before completing any of these evaluations, Sentry confirms that each event includes a valid DSN and project as well as whether the event can be parsed. In addition, for error events, Sentry validates that the event contains valid fingerprint information. If any of these items are missing or incorrect, the event is rejected.\"), mdx(\"ol\", null, mdx(\"li\", {\n    parentName: \"ol\"\n  }, mdx(\"p\", {\n    parentName: \"li\"\n  }, mdx(\"strong\", {\n    parentName: \"p\"\n  }, \"SDK configuration\")), mdx(\"p\", {\n    parentName: \"li\"\n  }, \"The SDK configuration either allows the event or filters the event out. For more information, see \", mdx(\"a\", _extends({\n    parentName: \"p\"\n  }, {\n    \"href\": \"/product/accounts/quotas/manage-event-stream-guide/\"\n  }), \"Manage Your Event Stream\"), \" or \", mdx(\"a\", _extends({\n    parentName: \"p\"\n  }, {\n    \"href\": \"/platform-redirect/?next=/configuration/filtering/\"\n  }), \"Filtering Events\"), \".\")), mdx(\"li\", {\n    parentName: \"ol\"\n  }, mdx(\"p\", {\n    parentName: \"li\"\n  }, mdx(\"strong\", {\n    parentName: \"p\"\n  }, \"SDK sample rate\")), mdx(\"p\", {\n    parentName: \"li\"\n  }, \"If a sample rate is defined for the SDK, the SDK evaluates whether this event should be sent as a representative fraction of events. Setting a sample rate is documented for each SDK. The SDK sample rate is not dynamic; changing it requires re-deployment. In addition, setting an SDK sample rate limits visibility into the source of events. Setting a rate limit for your project may better suit your needs.\")), mdx(\"li\", {\n    parentName: \"ol\"\n  }, mdx(\"p\", {\n    parentName: \"li\"\n  }, mdx(\"strong\", {\n    parentName: \"p\"\n  }, \"Quota availability\")), mdx(\"p\", {\n    parentName: \"li\"\n  }, \"Events that exceed your quota are not sent. To add to your quota or review what happens when you exceed it, see \", mdx(\"a\", _extends({\n    parentName: \"p\"\n  }, {\n    \"href\": \"/product/accounts/quotas/#increasing-quotas\"\n  }), \"Increasing Quotas\"), \".\")), mdx(\"li\", {\n    parentName: \"ol\"\n  }, mdx(\"p\", {\n    parentName: \"li\"\n  }, mdx(\"strong\", {\n    parentName: \"p\"\n  }, \"Event repetition\")))), mdx(\"ul\", null, mdx(\"li\", {\n    parentName: \"ul\"\n  }, \"If you have intervened to Delete and Discard an issue, then \", mdx(\"em\", {\n    parentName: \"li\"\n  }, \"future\"), \" events with the same fingerprint do not count toward your quota.\"), mdx(\"li\", {\n    parentName: \"ul\"\n  }, \"If the previous event was resolved, this event counts toward your quota because it may represent a regression in your code.\"), mdx(\"li\", {\n    parentName: \"ul\"\n  }, \"If you have intervened to ignore alerts about events with the same fingerprint, this event counts toward your quota because the event is still occurring. For more information, see \", mdx(\"a\", _extends({\n    parentName: \"li\"\n  }, {\n    \"href\": \"/product/accounts/quotas/#inbound-data-filters\"\n  }), \"Inbound Filters\"), \".\")), mdx(\"ol\", {\n    \"start\": 5\n  }, mdx(\"li\", {\n    parentName: \"ol\"\n  }, mdx(\"p\", {\n    parentName: \"li\"\n  }, mdx(\"strong\", {\n    parentName: \"p\"\n  }, \"Spike protection\")), mdx(\"p\", {\n    parentName: \"li\"\n  }, \"Sentry\\u2019s spike protection prevents huge overages from consuming your event capacity; spike protection is not currently available for transactions. For more information, see \", mdx(\"a\", _extends({\n    parentName: \"p\"\n  }, {\n    \"href\": \"/product/accounts/quotas/#spike-protection\"\n  }), \"Spike Protection\"), \".\"))), mdx(\"p\", null, \"In addition, depending on your project\\u2019s configuration and the plan you subscribe to, Sentry may also check:\"), mdx(\"ol\", {\n    \"start\": 6\n  }, mdx(\"li\", {\n    parentName: \"ol\"\n  }, mdx(\"p\", {\n    parentName: \"li\"\n  }, mdx(\"strong\", {\n    parentName: \"p\"\n  }, \"Rate limit for the project\")), mdx(\"p\", {\n    parentName: \"li\"\n  }, \"If the error event rate limit for the project has been exceeded, and your subscription allows, the event will not be counted. For more information, see \", mdx(\"a\", _extends({\n    parentName: \"p\"\n  }, {\n    \"href\": \"/product/accounts/quotas/manage-event-stream-guide/#6-rate-limiting\"\n  }), \"Rate Limiting in our guide to Manage Your Event Stream\"), \" or \", mdx(\"a\", _extends({\n    parentName: \"p\"\n  }, {\n    \"href\": \"/product/accounts/quotas/#error-event-limits\"\n  }), \"Error Event Limits\"), \".\")), mdx(\"li\", {\n    parentName: \"ol\"\n  }, mdx(\"p\", {\n    parentName: \"li\"\n  }, mdx(\"strong\", {\n    parentName: \"p\"\n  }, \"Inbound filters\")), mdx(\"p\", {\n    parentName: \"li\"\n  }, \"If any inbound filter is set for this type of error event, and your subscription allows, the event will not be counted. For more information, see \", mdx(\"a\", _extends({\n    parentName: \"p\"\n  }, {\n    \"href\": \"/product/accounts/quotas/manage-event-stream-guide/#3-inbound-data-filters\"\n  }), \"Inbound Filters in our guide to Manage Your Event Stream\"), \" or \", mdx(\"a\", _extends({\n    parentName: \"p\"\n  }, {\n    \"href\": \"/product/accounts/quotas/#inbound-data-filters\"\n  }), \"Inbound Data Filter\"), \".\"))), mdx(\"p\", null, \"After these checks are processed, the event counts toward your quota. It is accepted into Sentry, where it persists and is stored.\"), mdx(Alert, {\n    mdxType: \"Alert\"\n  }, \"If the event exceeds 200KB compressed or 1MB decompressed for events and 20MB compressed or 100MB decompressed for minidump uploads (all files combined), the event will be rejected.\"), mdx(\"h2\", {\n    \"id\": \"what-counts-toward-my-quota-table-view\",\n    \"style\": {\n      \"position\": \"relative\"\n    }\n  }, mdx(\"a\", _extends({\n    parentName: \"h2\"\n  }, {\n    \"href\": \"#what-counts-toward-my-quota-table-view\",\n    \"aria-label\": \"what counts toward my quota table view permalink\",\n    \"className\": \"anchor before\"\n  }), mdx(\"svg\", _extends({\n    parentName: \"a\"\n  }, {\n    \"viewBox\": \"0 0 24 24\",\n    \"xmlns\": \"http://www.w3.org/2000/svg\"\n  }), mdx(\"path\", _extends({\n    parentName: \"svg\"\n  }, {\n    \"d\": \"M10.879 6.05L15 1.93A5.001 5.001 0 0 1 22.071 9l-4.121 4.121a1 1 0 0 1-1.414-1.414l4.12-4.121a3 3 0 1 0-4.242-4.243l-4.121 4.121a1 1 0 1 1-1.414-1.414zm2.242 11.9L9 22.07A5 5 0 1 1 1.929 15l4.121-4.121a1 1 0 0 1 1.414 1.414l-4.12 4.121a3 3 0 1 0 4.242 4.243l4.121-4.121a1 1 0 1 1 1.414 1.414zm-8.364-.122l13.071-13.07a1 1 0 0 1 1.415 1.414L6.172 19.242a1 1 0 1 1-1.415-1.414z\",\n    \"fill\": \"currentColor\"\n  })))), \"What Counts Toward my Quota, Table View\"), mdx(\"table\", null, mdx(\"tbody\", null, mdx(\"tr\", null, mdx(\"td\", null, mdx(\"strong\", null, \" \")), mdx(\"td\", null, mdx(\"strong\", null, \"Yes, this event counts\")), mdx(\"td\", null, mdx(\"strong\", null, \"No, this event does not count\"))), mdx(\"tr\", null, mdx(\"td\", null, \"SDK configuration\"), mdx(\"td\", null, \"Not set\"), mdx(\"td\", null, \"Set to filter this event\")), mdx(\"tr\", null, mdx(\"td\", null, \"SDK sample rate\"), mdx(\"td\", null, \"Not set\"), mdx(\"td\", null, \"Set\")), mdx(\"tr\", null, mdx(\"td\", null, \"Quota\"), mdx(\"td\", null, \"Not reached\"), mdx(\"td\", null, \"Exceeded\")), mdx(\"tr\", null, mdx(\"td\", null, \"Are \", mdx(\"i\", null, \"future\"), \" error events that repeat set to Delete & Discard?\"), mdx(\"td\", null, \"No\"), mdx(\"td\", null, \" \")), mdx(\"tr\", null, mdx(\"td\", null, \"Is this repeated event resolved?\"), mdx(\"td\", null, \"Yes, this may be a regression in your code\"), mdx(\"td\", null, \" \")), mdx(\"tr\", null, mdx(\"td\", null, \"Is this repeated event set to Ignore Alert?\"), mdx(\"td\", null, \"Yes, it is still occurring\"), mdx(\"td\", null, \" \")), mdx(\"tr\", null, mdx(\"td\", null, \"Has spike protection been triggered?\"), mdx(\"td\", null, \"No\"), mdx(\"td\", null, \"Yes\")), mdx(\"tr\", null, mdx(\"td\", null, \"Rate limit for error events for the project\"), mdx(\"td\", null, \"Not set \", mdx(\"i\", null, \"or\"), \" not reached\"), mdx(\"td\", null, \"Set \", mdx(\"i\", null, \"and\"), \" exceeded\")), mdx(\"tr\", null, mdx(\"td\", null, \"Inbound Filters\"), mdx(\"td\", null, \"Not set\"), mdx(\"td\", null, \"Set for this error event\")))), mdx(Alert, {\n    mdxType: \"Alert\"\n  }, \"Delete and discard and per-project rate limits are available only for Business plans.\"), mdx(\"h2\", {\n    \"id\": \"increasing-quotas\",\n    \"style\": {\n      \"position\": \"relative\"\n    }\n  }, mdx(\"a\", _extends({\n    parentName: \"h2\"\n  }, {\n    \"href\": \"#increasing-quotas\",\n    \"aria-label\": \"increasing quotas permalink\",\n    \"className\": \"anchor before\"\n  }), mdx(\"svg\", _extends({\n    parentName: \"a\"\n  }, {\n    \"viewBox\": \"0 0 24 24\",\n    \"xmlns\": \"http://www.w3.org/2000/svg\"\n  }), mdx(\"path\", _extends({\n    parentName: \"svg\"\n  }, {\n    \"d\": \"M10.879 6.05L15 1.93A5.001 5.001 0 0 1 22.071 9l-4.121 4.121a1 1 0 0 1-1.414-1.414l4.12-4.121a3 3 0 1 0-4.242-4.243l-4.121 4.121a1 1 0 1 1-1.414-1.414zm2.242 11.9L9 22.07A5 5 0 1 1 1.929 15l4.121-4.121a1 1 0 0 1 1.414 1.414l-4.12 4.121a3 3 0 1 0 4.242 4.243l4.121-4.121a1 1 0 1 1 1.414 1.414zm-8.364-.122l13.071-13.07a1 1 0 0 1 1.415 1.414L6.172 19.242a1 1 0 1 1-1.415-1.414z\",\n    \"fill\": \"currentColor\"\n  })))), \"Increasing Quotas\"), mdx(\"p\", null, \"Add to your quota at any time during your billing period, either by upgrading to a higher tier or by increasing your on-demand capacity. While the available plans fit most individual and business needs, Sentry is designed to handle large throughput. If your team needs more, we\\u2019re happy to help. Reach out to our sales team at \", mdx(\"a\", _extends({\n    parentName: \"p\"\n  }, {\n    \"href\": \"mailto:sales@sentry.io\"\n  }), \"sales@sentry.io\"), \" to learn more about increasing capacity.\"), mdx(\"p\", null, \"If you\\u2019ve exceeded your quota threshold, the server will respond with a 429 HTTP status code. However, if this is your first time exceeding quota, you'll be entered into a one-time grace period. For more information, see this \", mdx(\"a\", _extends({\n    parentName: \"p\"\n  }, {\n    \"href\": \"https://help.sentry.io/hc/en-us/articles/115000154554-What-happens-when-I-run-out-of-event-capacity-and-a-grace-period-is-triggered-\"\n  }), \"Help article\"), \". In addition, you can specify a spending cap for on-demand capacity if you need additional events; for example, if you\\u2019re rolling out a new version and anticipate more events this month. For more information, see \", mdx(\"a\", _extends({\n    parentName: \"p\"\n  }, {\n    \"href\": \"/product/accounts/pricing/#on-demand-cap\"\n  }), \"On-Demand Spending Cap\"), \".\"), mdx(\"h2\", {\n    \"id\": \"limiting-events\",\n    \"style\": {\n      \"position\": \"relative\"\n    }\n  }, mdx(\"a\", _extends({\n    parentName: \"h2\"\n  }, {\n    \"href\": \"#limiting-events\",\n    \"aria-label\": \"limiting events permalink\",\n    \"className\": \"anchor before\"\n  }), mdx(\"svg\", _extends({\n    parentName: \"a\"\n  }, {\n    \"viewBox\": \"0 0 24 24\",\n    \"xmlns\": \"http://www.w3.org/2000/svg\"\n  }), mdx(\"path\", _extends({\n    parentName: \"svg\"\n  }, {\n    \"d\": \"M10.879 6.05L15 1.93A5.001 5.001 0 0 1 22.071 9l-4.121 4.121a1 1 0 0 1-1.414-1.414l4.12-4.121a3 3 0 1 0-4.242-4.243l-4.121 4.121a1 1 0 1 1-1.414-1.414zm2.242 11.9L9 22.07A5 5 0 1 1 1.929 15l4.121-4.121a1 1 0 0 1 1.414 1.414l-4.12 4.121a3 3 0 1 0 4.242 4.243l4.121-4.121a1 1 0 1 1 1.414 1.414zm-8.364-.122l13.071-13.07a1 1 0 0 1 1.415 1.414L6.172 19.242a1 1 0 1 1-1.415-1.414z\",\n    \"fill\": \"currentColor\"\n  })))), \"Limiting Events\"), mdx(\"h3\", {\n    \"id\": \"error-event-limits\",\n    \"style\": {\n      \"position\": \"relative\"\n    }\n  }, mdx(\"a\", _extends({\n    parentName: \"h3\"\n  }, {\n    \"href\": \"#error-event-limits\",\n    \"aria-label\": \"error event limits permalink\",\n    \"className\": \"anchor before\"\n  }), mdx(\"svg\", _extends({\n    parentName: \"a\"\n  }, {\n    \"viewBox\": \"0 0 24 24\",\n    \"xmlns\": \"http://www.w3.org/2000/svg\"\n  }), mdx(\"path\", _extends({\n    parentName: \"svg\"\n  }, {\n    \"d\": \"M10.879 6.05L15 1.93A5.001 5.001 0 0 1 22.071 9l-4.121 4.121a1 1 0 0 1-1.414-1.414l4.12-4.121a3 3 0 1 0-4.242-4.243l-4.121 4.121a1 1 0 1 1-1.414-1.414zm2.242 11.9L9 22.07A5 5 0 1 1 1.929 15l4.121-4.121a1 1 0 0 1 1.414 1.414l-4.12 4.121a3 3 0 1 0 4.242 4.243l4.121-4.121a1 1 0 1 1 1.414 1.414zm-8.364-.122l13.071-13.07a1 1 0 0 1 1.415 1.414L6.172 19.242a1 1 0 1 1-1.415-1.414z\",\n    \"fill\": \"currentColor\"\n  })))), \"Error Event Limits\"), mdx(\"p\", null, \"Per-key rate limits allow you to set the maximum volume of error events a key will accept during a period of time.\"), mdx(\"p\", null, \"For example, you may have a project in production that generates a lot of noise. A rate limit allows you to set the maximum amount of data to \\u201C500 events per minute\\u201D. Additionally, you can create a second key for the same project for your staging environment, which is unlimited, ensuring your QA process is still untouched.\"), mdx(\"p\", null, \"To set up rate limits, navigate to \", mdx(\"strong\", {\n    parentName: \"p\"\n  }, \"[Project]\", \" \\xBB Client Keys \\xBB Configure\"), \". Select an individual key or create a new one, then you\\u2019ll be able to define a rate limit as well as view a breakdown of events received by that key. For additional information and examples, see \", mdx(\"a\", _extends({\n    parentName: \"p\"\n  }, {\n    \"href\": \"/product/accounts/quotas/manage-event-stream-guide/#6-rate-limiting\"\n  }), \"Rate Limiting in our guide to Manage Your Event Stream\"), \".\"), mdx(Alert, {\n    mdxType: \"Alert\"\n  }, \"Per-key rate limiting is available only for Business plans.\"), mdx(\"h3\", {\n    \"id\": \"attachment-limits\",\n    \"style\": {\n      \"position\": \"relative\"\n    }\n  }, mdx(\"a\", _extends({\n    parentName: \"h3\"\n  }, {\n    \"href\": \"#attachment-limits\",\n    \"aria-label\": \"attachment limits permalink\",\n    \"className\": \"anchor before\"\n  }), mdx(\"svg\", _extends({\n    parentName: \"a\"\n  }, {\n    \"viewBox\": \"0 0 24 24\",\n    \"xmlns\": \"http://www.w3.org/2000/svg\"\n  }), mdx(\"path\", _extends({\n    parentName: \"svg\"\n  }, {\n    \"d\": \"M10.879 6.05L15 1.93A5.001 5.001 0 0 1 22.071 9l-4.121 4.121a1 1 0 0 1-1.414-1.414l4.12-4.121a3 3 0 1 0-4.242-4.243l-4.121 4.121a1 1 0 1 1-1.414-1.414zm2.242 11.9L9 22.07A5 5 0 1 1 1.929 15l4.121-4.121a1 1 0 0 1 1.414 1.414l-4.12 4.121a3 3 0 1 0 4.242 4.243l4.121-4.121a1 1 0 1 1 1.414 1.414zm-8.364-.122l13.071-13.07a1 1 0 0 1 1.415 1.414L6.172 19.242a1 1 0 1 1-1.415-1.414z\",\n    \"fill\": \"currentColor\"\n  })))), \"Attachment Limits\"), mdx(\"p\", null, \"If you have enabled the storage of crash reports, you may set limits for the maximum number of crash reports that will be stored per issue. To set up these limits, use the slider in the \\\"Store Native Crash Reports\\\" option for your organization's \", mdx(\"strong\", {\n    parentName: \"p\"\n  }, \"Security and Privacy Settings\"), \".\"), mdx(\"h2\", {\n    \"id\": \"inbound-data-filters\",\n    \"style\": {\n      \"position\": \"relative\"\n    }\n  }, mdx(\"a\", _extends({\n    parentName: \"h2\"\n  }, {\n    \"href\": \"#inbound-data-filters\",\n    \"aria-label\": \"inbound data filters permalink\",\n    \"className\": \"anchor before\"\n  }), mdx(\"svg\", _extends({\n    parentName: \"a\"\n  }, {\n    \"viewBox\": \"0 0 24 24\",\n    \"xmlns\": \"http://www.w3.org/2000/svg\"\n  }), mdx(\"path\", _extends({\n    parentName: \"svg\"\n  }, {\n    \"d\": \"M10.879 6.05L15 1.93A5.001 5.001 0 0 1 22.071 9l-4.121 4.121a1 1 0 0 1-1.414-1.414l4.12-4.121a3 3 0 1 0-4.242-4.243l-4.121 4.121a1 1 0 1 1-1.414-1.414zm2.242 11.9L9 22.07A5 5 0 1 1 1.929 15l4.121-4.121a1 1 0 0 1 1.414 1.414l-4.12 4.121a3 3 0 1 0 4.242 4.243l4.121-4.121a1 1 0 1 1 1.414 1.414zm-8.364-.122l13.071-13.07a1 1 0 0 1 1.415 1.414L6.172 19.242a1 1 0 1 1-1.415-1.414z\",\n    \"fill\": \"currentColor\"\n  })))), \"Inbound Filters\"), mdx(\"p\", null, \"In some cases, the data you\\u2019re receiving in Sentry is hard to filter, or you don\\u2019t have the ability to update the SDK\\u2019s configuration to apply the filters. Sentry provides several methods to filter data server-side, which apply before checking for potential rate limits. Inbound filters include:\"), mdx(\"ul\", null, mdx(\"li\", {\n    parentName: \"ul\"\n  }, \"Common browser extension errors\"), mdx(\"li\", {\n    parentName: \"ul\"\n  }, \"Events coming from localhost\"), mdx(\"li\", {\n    parentName: \"ul\"\n  }, \"Known legacy browsers errors\"), mdx(\"li\", {\n    parentName: \"ul\"\n  }, \"Known web crawlers\"), mdx(\"li\", {\n    parentName: \"ul\"\n  }, \"By their error message\"), mdx(\"li\", {\n    parentName: \"ul\"\n  }, \"From specific release versions of your code\"), mdx(\"li\", {\n    parentName: \"ul\"\n  }, \"From certain IP addresses.\")), mdx(\"p\", null, \"Explore these by navigating to \", mdx(\"strong\", {\n    parentName: \"p\"\n  }, \"[Project]\", \" \\xBB Project Settings \\xBB Inbound Filters\"), \". Commonly-set filters are discussed here for your quick reference. For additional information and examples, see \", mdx(\"a\", _extends({\n    parentName: \"p\"\n  }, {\n    \"href\": \"/product/accounts/quotas/manage-event-stream-guide/#inbound-data-filters\"\n  }), \"Inbound Data Filters in our guide to Manage Your Event Stream\"), \". Commonly-set filters include:\"), mdx(\"h3\", {\n    \"id\": \"ip-filters\",\n    \"style\": {\n      \"position\": \"relative\"\n    }\n  }, mdx(\"a\", _extends({\n    parentName: \"h3\"\n  }, {\n    \"href\": \"#ip-filters\",\n    \"aria-label\": \"ip filters permalink\",\n    \"className\": \"anchor before\"\n  }), mdx(\"svg\", _extends({\n    parentName: \"a\"\n  }, {\n    \"viewBox\": \"0 0 24 24\",\n    \"xmlns\": \"http://www.w3.org/2000/svg\"\n  }), mdx(\"path\", _extends({\n    parentName: \"svg\"\n  }, {\n    \"d\": \"M10.879 6.05L15 1.93A5.001 5.001 0 0 1 22.071 9l-4.121 4.121a1 1 0 0 1-1.414-1.414l4.12-4.121a3 3 0 1 0-4.242-4.243l-4.121 4.121a1 1 0 1 1-1.414-1.414zm2.242 11.9L9 22.07A5 5 0 1 1 1.929 15l4.121-4.121a1 1 0 0 1 1.414 1.414l-4.12 4.121a3 3 0 1 0 4.242 4.243l4.121-4.121a1 1 0 1 1 1.414 1.414zm-8.364-.122l13.071-13.07a1 1 0 0 1 1.415 1.414L6.172 19.242a1 1 0 1 1-1.415-1.414z\",\n    \"fill\": \"currentColor\"\n  })))), \"IP Filters\"), mdx(\"p\", null, \"If you have a rogue client, Sentry supports blocking an IP from sending data. Navigate to \", mdx(\"strong\", {\n    parentName: \"p\"\n  }, \"[Project]\", \" \\xBB Project Settings \\xBB Inbound Filters\"), \" to add the IP addresses (or subnets) to \", mdx(\"strong\", {\n    parentName: \"p\"\n  }, \"Filter errors from these IP addresses\"), \".\"), mdx(\"h3\", {\n    \"id\": \"filter-by-release\",\n    \"style\": {\n      \"position\": \"relative\"\n    }\n  }, mdx(\"a\", _extends({\n    parentName: \"h3\"\n  }, {\n    \"href\": \"#filter-by-release\",\n    \"aria-label\": \"filter by release permalink\",\n    \"className\": \"anchor before\"\n  }), mdx(\"svg\", _extends({\n    parentName: \"a\"\n  }, {\n    \"viewBox\": \"0 0 24 24\",\n    \"xmlns\": \"http://www.w3.org/2000/svg\"\n  }), mdx(\"path\", _extends({\n    parentName: \"svg\"\n  }, {\n    \"d\": \"M10.879 6.05L15 1.93A5.001 5.001 0 0 1 22.071 9l-4.121 4.121a1 1 0 0 1-1.414-1.414l4.12-4.121a3 3 0 1 0-4.242-4.243l-4.121 4.121a1 1 0 1 1-1.414-1.414zm2.242 11.9L9 22.07A5 5 0 1 1 1.929 15l4.121-4.121a1 1 0 0 1 1.414 1.414l-4.12 4.121a3 3 0 1 0 4.242 4.243l4.121-4.121a1 1 0 1 1 1.414 1.414zm-8.364-.122l13.071-13.07a1 1 0 0 1 1.415 1.414L6.172 19.242a1 1 0 1 1-1.415-1.414z\",\n    \"fill\": \"currentColor\"\n  })))), \"Filter by Release\"), mdx(Alert, {\n    level: \"info\",\n    mdxType: \"Alert\"\n  }, \"Filter by release is available on the Business plan.\"), mdx(\"p\", null, \"If you discover a problematic release causing excessive noise, Sentry supports ignoring all events from that release. Navigate to \", mdx(\"strong\", {\n    parentName: \"p\"\n  }, \"[Project]\", \" \\xBB Project Settings \\xBB Inbound Filters\"), \", then add the releases to \", mdx(\"strong\", {\n    parentName: \"p\"\n  }, \"Filter errors from these releases\"), \".\"), mdx(\"h3\", {\n    \"id\": \"filter-by-error-message\",\n    \"style\": {\n      \"position\": \"relative\"\n    }\n  }, mdx(\"a\", _extends({\n    parentName: \"h3\"\n  }, {\n    \"href\": \"#filter-by-error-message\",\n    \"aria-label\": \"filter by error message permalink\",\n    \"className\": \"anchor before\"\n  }), mdx(\"svg\", _extends({\n    parentName: \"a\"\n  }, {\n    \"viewBox\": \"0 0 24 24\",\n    \"xmlns\": \"http://www.w3.org/2000/svg\"\n  }), mdx(\"path\", _extends({\n    parentName: \"svg\"\n  }, {\n    \"d\": \"M10.879 6.05L15 1.93A5.001 5.001 0 0 1 22.071 9l-4.121 4.121a1 1 0 0 1-1.414-1.414l4.12-4.121a3 3 0 1 0-4.242-4.243l-4.121 4.121a1 1 0 1 1-1.414-1.414zm2.242 11.9L9 22.07A5 5 0 1 1 1.929 15l4.121-4.121a1 1 0 0 1 1.414 1.414l-4.12 4.121a3 3 0 1 0 4.242 4.243l4.121-4.121a1 1 0 1 1 1.414 1.414zm-8.364-.122l13.071-13.07a1 1 0 0 1 1.415 1.414L6.172 19.242a1 1 0 1 1-1.415-1.414z\",\n    \"fill\": \"currentColor\"\n  })))), \"Filter by Error Message\"), mdx(Alert, {\n    level: \"info\",\n    mdxType: \"Alert\"\n  }, \"Filter by error message is available on the Business plan.\"), mdx(\"p\", null, \"Sentry supports filtering out a specific or certain kind of error as well. Navigate to \", mdx(\"strong\", {\n    parentName: \"p\"\n  }, \"[Project]\", \" \\xBB Project Settings \\xBB Inbound Filters\"), \", then add the error message to \", mdx(\"strong\", {\n    parentName: \"p\"\n  }, \"Filter errors by error message\"), \".\"), mdx(\"h3\", {\n    \"id\": \"filter-by-issue\",\n    \"style\": {\n      \"position\": \"relative\"\n    }\n  }, mdx(\"a\", _extends({\n    parentName: \"h3\"\n  }, {\n    \"href\": \"#filter-by-issue\",\n    \"aria-label\": \"filter by issue permalink\",\n    \"className\": \"anchor before\"\n  }), mdx(\"svg\", _extends({\n    parentName: \"a\"\n  }, {\n    \"viewBox\": \"0 0 24 24\",\n    \"xmlns\": \"http://www.w3.org/2000/svg\"\n  }), mdx(\"path\", _extends({\n    parentName: \"svg\"\n  }, {\n    \"d\": \"M10.879 6.05L15 1.93A5.001 5.001 0 0 1 22.071 9l-4.121 4.121a1 1 0 0 1-1.414-1.414l4.12-4.121a3 3 0 1 0-4.242-4.243l-4.121 4.121a1 1 0 1 1-1.414-1.414zm2.242 11.9L9 22.07A5 5 0 1 1 1.929 15l4.121-4.121a1 1 0 0 1 1.414 1.414l-4.12 4.121a3 3 0 1 0 4.242 4.243l4.121-4.121a1 1 0 1 1 1.414 1.414zm-8.364-.122l13.071-13.07a1 1 0 0 1 1.415 1.414L6.172 19.242a1 1 0 1 1-1.415-1.414z\",\n    \"fill\": \"currentColor\"\n  })))), \"Filter by Issue\"), mdx(Alert, {\n    level: \"info\",\n    mdxType: \"Alert\"\n  }, \"Delete and Discard is available on the Business plan.\"), mdx(\"p\", null, \"When you are unable to take immediate action on an issue, but it continues to occur, Sentry supports deleting and discarding that issue from the issue details page. Navigate to \", mdx(\"strong\", {\n    parentName: \"p\"\n  }, \"[Project]\", \" \\xBB Project Settings \\xBB Inbound Filters\"), \", then click \\u201Cdelete and discard future events.\\u201D This setting deletes most data associated with the issue and filters out matching events before they count against your quota.\"), mdx(\"h2\", {\n    \"id\": \"spike-protection\",\n    \"style\": {\n      \"position\": \"relative\"\n    }\n  }, mdx(\"a\", _extends({\n    parentName: \"h2\"\n  }, {\n    \"href\": \"#spike-protection\",\n    \"aria-label\": \"spike protection permalink\",\n    \"className\": \"anchor before\"\n  }), mdx(\"svg\", _extends({\n    parentName: \"a\"\n  }, {\n    \"viewBox\": \"0 0 24 24\",\n    \"xmlns\": \"http://www.w3.org/2000/svg\"\n  }), mdx(\"path\", _extends({\n    parentName: \"svg\"\n  }, {\n    \"d\": \"M10.879 6.05L15 1.93A5.001 5.001 0 0 1 22.071 9l-4.121 4.121a1 1 0 0 1-1.414-1.414l4.12-4.121a3 3 0 1 0-4.242-4.243l-4.121 4.121a1 1 0 1 1-1.414-1.414zm2.242 11.9L9 22.07A5 5 0 1 1 1.929 15l4.121-4.121a1 1 0 0 1 1.414 1.414l-4.12 4.121a3 3 0 1 0 4.242 4.243l4.121-4.121a1 1 0 1 1 1.414 1.414zm-8.364-.122l13.071-13.07a1 1 0 0 1 1.415 1.414L6.172 19.242a1 1 0 1 1-1.415-1.414z\",\n    \"fill\": \"currentColor\"\n  })))), \"Spike Protection\"), mdx(\"p\", null, \"A spike is both a \", mdx(\"strong\", {\n    parentName: \"p\"\n  }, \"large\"), \" and \", mdx(\"strong\", {\n    parentName: \"p\"\n  }, \"temporary\"), \" increase in event volume. Sentry's spike protection prevents huge overages from consuming your event capacity. We use your historical event volume to implement a dynamic rate limit which discards events when you hit its threshold. This dynamic rate limit is designed to protect you from short-term spikes. The threshold will increase if your increased volume persists for many hours.\"), mdx(\"p\", null, \"When spike protection is activated, we limit the number of events accepted in any minute to:\"), mdx(\"div\", {\n    \"className\": \"code-tabs-wrapper\"\n  }, mdx(CodeTabs, {\n    mdxType: \"CodeTabs\"\n  }, mdx(CodeBlock, {\n    language: \"\",\n    title: \"\",\n    filename: \"\",\n    mdxType: \"CodeBlock\"\n  }, mdx(\"div\", _extends({\n    parentName: \"div\"\n  }, {\n    \"className\": \"gatsby-highlight\",\n    \"data-language\": \"text\"\n  }), mdx(\"pre\", _extends({\n    parentName: \"div\"\n  }, {\n    \"className\": \"language-text\"\n  }), mdx(\"code\", _extends({\n    parentName: \"pre\"\n  }, {\n    \"className\": \"language-text\"\n  }), \"maximum(20, 6 x average events per minute over the last 24 hours)\")))))), mdx(\"p\", null, mdx(\"em\", {\n    parentName: \"p\"\n  }, \"The 24 hour window ends at the beginning of the current hour, not at the current minute.\")), mdx(\"p\", null, \"What this means is that if you experience a spike, we will temporarily protect you, but if the increase in volume is sustained, the spike protection limit will gradually increase until Sentry finally accepts all events.\"), mdx(\"h3\", {\n    \"id\": \"how-does-spike-protection-help\",\n    \"style\": {\n      \"position\": \"relative\"\n    }\n  }, mdx(\"a\", _extends({\n    parentName: \"h3\"\n  }, {\n    \"href\": \"#how-does-spike-protection-help\",\n    \"aria-label\": \"how does spike protection help permalink\",\n    \"className\": \"anchor before\"\n  }), mdx(\"svg\", _extends({\n    parentName: \"a\"\n  }, {\n    \"viewBox\": \"0 0 24 24\",\n    \"xmlns\": \"http://www.w3.org/2000/svg\"\n  }), mdx(\"path\", _extends({\n    parentName: \"svg\"\n  }, {\n    \"d\": \"M10.879 6.05L15 1.93A5.001 5.001 0 0 1 22.071 9l-4.121 4.121a1 1 0 0 1-1.414-1.414l4.12-4.121a3 3 0 1 0-4.242-4.243l-4.121 4.121a1 1 0 1 1-1.414-1.414zm2.242 11.9L9 22.07A5 5 0 1 1 1.929 15l4.121-4.121a1 1 0 0 1 1.414 1.414l-4.12 4.121a3 3 0 1 0 4.242 4.243l4.121-4.121a1 1 0 1 1 1.414 1.414zm-8.364-.122l13.071-13.07a1 1 0 0 1 1.415 1.414L6.172 19.242a1 1 0 1 1-1.415-1.414z\",\n    \"fill\": \"currentColor\"\n  })))), \"How Does Spike Protection Help?\"), mdx(\"p\", null, \"Because Sentry bills on monthly event volume, spikes can consume your Sentry capacity for the rest of the month. If it really is a spike, spike protection drops events during the spike to try and conserve your capacity. We also send an email notification to the Owner when spike protection is activated.\"), mdx(\"h2\", {\n    \"id\": \"attribute-limits\",\n    \"style\": {\n      \"position\": \"relative\"\n    }\n  }, mdx(\"a\", _extends({\n    parentName: \"h2\"\n  }, {\n    \"href\": \"#attribute-limits\",\n    \"aria-label\": \"attribute limits permalink\",\n    \"className\": \"anchor before\"\n  }), mdx(\"svg\", _extends({\n    parentName: \"a\"\n  }, {\n    \"viewBox\": \"0 0 24 24\",\n    \"xmlns\": \"http://www.w3.org/2000/svg\"\n  }), mdx(\"path\", _extends({\n    parentName: \"svg\"\n  }, {\n    \"d\": \"M10.879 6.05L15 1.93A5.001 5.001 0 0 1 22.071 9l-4.121 4.121a1 1 0 0 1-1.414-1.414l4.12-4.121a3 3 0 1 0-4.242-4.243l-4.121 4.121a1 1 0 1 1-1.414-1.414zm2.242 11.9L9 22.07A5 5 0 1 1 1.929 15l4.121-4.121a1 1 0 0 1 1.414 1.414l-4.12 4.121a3 3 0 1 0 4.242 4.243l4.121-4.121a1 1 0 1 1 1.414 1.414zm-8.364-.122l13.071-13.07a1 1 0 0 1 1.415 1.414L6.172 19.242a1 1 0 1 1-1.415-1.414z\",\n    \"fill\": \"currentColor\"\n  })))), \"Attribute Limits\"), mdx(\"p\", null, \"Sentry imposes hard limits on various components within an event. While the limits may change over time and vary among attributes, most individual attributes are capped at 512 characters. Additionally, certain attributes also limit the maximum number of items. Commonly-trimmed values might include, for example:\"), mdx(\"ul\", null, mdx(\"li\", {\n    parentName: \"ul\"\n  }, \"Stack frame details. Stack traces with large frame counts will be trimmed (the middle frames are dropped). We limit to a maximum of 250 frames. Only 50 are retained unaltered, with the remaining 200 removing \", mdx(\"inlineCode\", {\n    parentName: \"li\"\n  }, \"vars\"), \", \", mdx(\"inlineCode\", {\n    parentName: \"li\"\n  }, \"pre_context\"), \" and \", mdx(\"inlineCode\", {\n    parentName: \"li\"\n  }, \"post_context\"), \".\"), mdx(\"li\", {\n    parentName: \"ul\"\n  }, mdx(\"inlineCode\", {\n    parentName: \"li\"\n  }, \"extra\"), \" data is limited to approximately 256k characters, and each item is capped at approximately 16k characters.\"), mdx(\"li\", {\n    parentName: \"ul\"\n  }, \"Breadcrumbs and their values\"), mdx(\"li\", {\n    parentName: \"ul\"\n  }, \"Error messages and message parameters are limited to 1024 characters.\")));\n}\n;\nMDXContent.isMDXComponent = true;","tableOfContents":{"items":[{"url":"#key-terms","title":"Key Terms"},{"url":"#what-counts-toward-my-quota-an-overview","title":"What Counts Toward My Quota, an Overview"},{"url":"#what-counts-toward-my-quota-table-view","title":"What Counts Toward my Quota, Table View"},{"url":"#increasing-quotas","title":"Increasing Quotas"},{"url":"#limiting-events","title":"Limiting Events","items":[{"url":"#error-event-limits","title":"Error Event Limits"},{"url":"#attachment-limits","title":"Attachment Limits"}]},{"url":"#inbound-filters-inbound-data-filters","title":"Inbound Filters {#inbound-data-filters}","items":[{"url":"#ip-filters","title":"IP Filters"},{"url":"#filter-by-release","title":"Filter by Release"},{"url":"#filter-by-error-message","title":"Filter by Error Message"},{"url":"#filter-by-issue","title":"Filter by Issue"}]},{"url":"#spike-protection","title":"Spike Protection","items":[{"url":"#how-does-spike-protection-help","title":"How Does Spike Protection Help?"}]},{"url":"#attribute-limits","title":"Attribute Limits"}]},"internal":{"type":"Mdx"}}}},"pageContext":{"excerpt":"Events and quotas are interconnected in Sentry. At the most basic, when you  subscribe to Sentry , you pay for the number of events - errors, attachments, and transactions - to be tracked. Each of these type of events has a quota. When Sentry accepts an event, it counts toward your quota for that type of event. Sentry’s flexibility means you can exercise fine-grained control over which events count toward your quota. Key Terms Let’s clarify a few terms to start: Event - an event is one instance of you sending Sentry data. Generally, this data is an error. Every event has a set of characteristics, called its fingerprint. Issue - an issue is a grouping of similar events, which all share the same fingerprint. For example, Sentry groups events together when they are triggered by the same part of your code. For more information, see  Grouping & Fingerprinting . Attachment - Attachments are files uploaded in the same request, such as log files. Unless the option to store crash reports is enabled, Sentry will use the files only to create the event, and then drop the files. 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. Quota - your quota is the monthly number of events - errors, attachments, and transactions - you pay Sentry to track. What Counts Toward My Quota, an Overview Sentry completes a thorough evaluation of each event to determine if it counts toward your quota, as outlined in this overview. Detailed documentation for each evaluation is linked throughout. Before completing any of these evaluations, Sentry confirms that each event includes a valid DSN and project as well as whether the event can be parsed. In addition, for error events, Sentry validates that the event contains valid fingerprint information. If any of these items are missing or incorrect, the event is rejected. SDK configuration The SDK configuration either allows the event or filters the event out. For more information, see  Manage Your Event Stream  or  Filtering Events . 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. Setting a sample rate is documented for each SDK. The SDK sample rate is not dynamic; changing it requires re-deployment. In addition, setting an SDK sample rate limits visibility into the source of events. Setting a rate limit for your project may better suit your needs. Quota availability Events that exceed your quota are not sent. To add to your quota or review what happens when you exceed it, see  Increasing Quotas . Event repetition If you have intervened to Delete and Discard an issue, then  future  events with the same fingerprint do not count toward your quota. If the previous event was resolved, this event counts toward your quota because it may represent a regression in your code. If you have intervened to ignore alerts about events with the same fingerprint, this event counts toward your quota because the event is still occurring. For more information, see  Inbound Filters . Spike protection Sentry’s spike protection prevents huge overages from consuming your event capacity; spike protection is not currently available for transactions. For more information, see  Spike Protection . In addition, depending on your project’s configuration and the plan you subscribe to, Sentry may also check: Rate limit for the project If the error event rate limit for the project has been exceeded, and your subscription allows, the event will not be counted. For more information, see  Rate Limiting in our guide to Manage Your Event Stream  or  Error Event Limits . Inbound filters If any inbound filter is set for this type of error event, and your subscription allows, the event will not be counted. For more information, see  Inbound Filters in our guide to Manage Your Event Stream  or  Inbound Data Filter . After these checks are processed, the event counts toward your quota. It is accepted into Sentry, where it persists and is stored. What Counts Toward my Quota, Table View Increasing Quotas Add to your quota at any time during your billing period, either by upgrading to a higher tier or by increasing your on-demand capacity. While the available plans fit most individual and business needs, Sentry is designed to handle large throughput. If your team needs more, we’re happy to help. Reach out to our sales team at  sales@sentry.io  to learn more about increasing capacity. If you’ve exceeded your quota threshold, the server will respond with a 429 HTTP status code. However, if this is your first time exceeding quota, you'll be entered into a one-time grace period. For more information, see this  Help article . In addition, you can specify a spending cap for on-demand capacity if you need additional events; for example, if you’re rolling out a new version and anticipate more events this month. For more information, see  On-Demand…","title":"Quota Management","description":null,"draft":null,"noindex":null,"notoc":null,"sidebar_order":0,"redirect_from":["/learn/quotas/","/product/quotas/"],"keywords":null,"id":"b46688e4-3792-511a-9a29-81efcd32d2a5","legacy":false}},"staticQueryHashes":["1218203755","1222113826","1222113826","1766336459","2158593473","2764967025","3345802723","3818502851","3990806462","4015007367","4192517163","4264099332","518019976"]}