To ensure our systems are always up and ready to support you, and to keep you from unintended use, we place limits on the amount of data you can send, query, and store.
Responses to limit violations
Limits are enforced per child account, and across our APIs. You might reach a limit if you start monitoring a new high-traffic application, or have a sudden data spike. When you do reach a limit, New Relic responds according to the type of data and the limit that’s reached. For example:
- We place a limit on the number of ingested requests per minute (RPM) per data type. When this limit is reached, we stop accepting data and return a 429 status code for the duration of the minute.
- For queries, we place limits on the number of queries per minute and the number of records inspected (see query limits). When the number of queries per minute limit is reached, New Relic will begin rejecting queries until the number of queries is below the limit. When the records inspected limit is reached, New Relic will reject traffic from the source scanning the largest number of records and attempt to allow traffic from other sources.
- For metrics, we place a limit on the number of unique timeseries (cardinality) per account and per metric. When this limit is reached, aggregated data is turned off for the rest of the UTC day.
For every major limit violation, New Relic creates an NrIntegrationError
event for that account, which has these limit-related attributes:
Attribute | Description |
category |
|
limitName | The name of the limit. |
message | Describes the limit and the impact. |
limitValue | The limit reached. |
System limits UI
The system Limits page (from the account dropdown, click Manage your data
and click Limits
on the left) displays when your account has encountered a rate limit in the specified time period. The page displays a default period of 24 hours; you can set a custom range from the top-right of the page.
Non-limit-related NrIntegrationError
events are not displayed here. In addition, this page does not display information about limits you have not hit, or how close you are to reaching a limit. For more on creating queries and alerts for data ingest and billing metrics, see Query billing/usage data.
one.newrelic.com > account dropdown > Manage your data > Limits: An example of a chart on the Limits UI page displaying a cardinality violation limit issue.
To add more detail, or build a dashboard, click the View NRQL button on the chart to see the NRQL powering this view. The graph displays each unique limit type that was reached during the selected time-period. This can help you find any trends based on time.
The Limits page also provides a table where you can find the limit name, the limit event message associated with it, and last occurrence time and date. If you click a limit in the table, you see more about what happened, and when.
one.newrelic.com > account dropdown > Manage your data > Limits: An example of a limit events table on the Limits UI page.
Troubleshooting system limits
To troubleshoot limits when you reach them, click the limit info in the table, and then follow the docs link that's provided. Different limits have different solutions.
Account-level limits
The following table includes general max limits that apply across all New Relic accounts. Specific New Relic tools, like agents and integrations, have their own limits and configurations, and might be lower than these theoretical maximum limits.
Limited condition | Limit |
---|---|
Rate of NRDB record* ingest | 55 million per account per minute |
Max NRDB records* ingested per API call | 1MB (10^6 bytes) |
Max attribute value size | 1KB (10^3 bytes) |
Max payload size | 1MB (10^6 bytes) |
Max total attributes per data type (including default attributes) | 254 (less for some tools; for example, 64 for agents) |
Number of unique custom data types | 250 per account per day (applies to custom events because that's source of new data types) |
APM limits |
|
Browser: number of page views | 1M per minute per app |
Distributed tracing: Max age of span timestamp values | 20 minutes. Timestamp must be within 20 minutes of current time at ingest or within 20 minutes from the time the last span with the same |
Distributed tracing: Max spans per trace | 50K |
Distributed tracing: Max attributes per span | 200 |
Rate of metric timeslice data (used by APM, browser, mobile) |
|
Mobile monitoring: number of crashes reported | 10K per hour |
Infrastructure agents, integrations |
|
Query limits |
|
* NRDB records refers to database records for our core data types, which includes events, metrics (dimensional), logs, and distributed tracing (span) data, all stored in the New Relic database (NRDB). This does not include metric timeslice data.
Data ingest API limits
Our ingest APIs have additional limits that may override the more general account-level limits. Note that these limits also apply to our tools that use these APIs (like our Telemetry SDKs or our open source telemetry integrations).
- Metric API (dimensional metrics)
- Event API
- Log API
- Trace API
Finding other agent and integration limits
To find limits for our other agents and integrations, which will override more general account-level limits, see the docs for those tools: you can search our quickstarts here. Some default reporting limits are located in these tools' configuration docs.