This document describes data requirements for the Metric API, including:
- Maximum limits
- Restricted attributes
- Restricted metric values
Maximum limits
The following default limits apply for all Metric data:
Condition | Limit |
|---|---|
Age range for timestamp values | Metrics reported with a timestamp older than 48 hours ago or newer than 24 hours from the time they are reported are dropped. |
Max unique time series (cardinality) per account per day | 1-15 million (learn more) A time series is a single, unique combination of a metric name and any attributes. |
Max unique time series (cardinality) per metric name per day | 100k |
Max payloads per minute | 100k (learn more) |
Max attributes per metric | 150 |
Max metric attribute name length | 255 characters |
Max characters for an attribute key | 255 characters |
Max metric attribute value length | 4096 characters |
Allowed HTTP protocols | HTTPS only |
Numerical long values falling outside minimum or maximum Java long values | Numerical long values that fall outside of the minimum or maximum Java long value will be rejected.
|
Numerical double values falling outside minimum or maximum Java double values | Numeric double values that fall outside of a the minimum or maximum Java double value will be rejected.
|
Numerical double values that require rounding to convert to a double-precision floating-point number. | Numeric double values that require rounding to convert to a double-precision floating-point number will be rejected. An example of this is
|
Payload size | Total maximum size or length: 1MB (10^6 bytes) maximum per POST. We highly recommend using compression. |
Payload format | The payload must encoded as UTF-8. |
Attribute naming syntax | Attribute names can be a combination of alphanumeric characters, colons ( |
The following default limits apply only to data collected via the Prometheus Remote Write integration:
Condition | Limit |
|---|---|
Max unique Count and Summary time series (cardinality) per account per 5 minute interval | 1-15 million (learn more) A time series is a single, unique combination of a metric name and any attributes. Time series received above this limit are dropped. This limit is enforced prior to and in addition to standard metric limits. |
Additional account conditions
Metric API limits apply at the individual account level. The default cardinality limit ranges from 3M for organizations on our Free edition, up to 10.2M for some paying organizations. To understand your organization's limits, see the Limits UI. Cardinality can be increased to 15M on request for paying organizations. Max payloads per minute can be adjusted above 100k on a case-by-case basis. To request changes to your metric rate limits, contact your New Relic account representative, or visit our Support portal.
Rate limit incidents
This section describes how the Metric API behaves when you exceed the rate limits, and how to respond if limits are exceeded.
Restricted attributes
These attributes are restricted by the New Relic platform. Any values submitted with these keys in the attributes section of a metric data point will cause the data point to be dropped, or the value to be omitted or overwritten:
Attribute | Description |
|---|---|
| This resets to the value |
| This resets to the |
|
|
These attributes are used internally to identify entities. Any values submitted with these keys in the attributes section of a metric data point may cause undefined behavior such as missing entities in the UI or telemetry not associating with the expected entities. For more information please refer to Entity synthesis:
Attribute | Description |
|---|---|
| Unique identifier assigned to an entity by New Relic. |
| Human-readable name of an entity, often used to identify an entity in the UI. |
| Used to differentiate between different types of entities, like hosts, applications, etc. |
Additional restrictions include:
Restriction | Comments |
|---|---|
Metric and attribute names | You cannot pass the same value for metric name and attribute name. In the following example, the metric is invalid because the metric is named Example: Metric value used as an attribute (invalid) |
Reserved words | Avoid using reserved words, such as |
Keys within metric JSON | All keys used within the metric JSON cannot be attribute keys. This includes Exception: You can use |
Restricted metric values
Any metric data submitted to the Metric API with a value equal to NaN (not a number), positive infinity, or negative infinity will be dropped. Non-finite values may cause NrIntegrationError events to be emitted.