This document describes data requirements for the Metric API, including:
- Maximum limits
- Restricted attributes
- Restricted metric values
The following default limits apply for all Metric data:
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 data points per minute (DPM)
3-15 million DPM (learn more)
Max unique timeseries (cardinality) per account per day
1-15 million (learn more)
A timeseries is a single, unique combination of a metric name and any attributes.
Max unique timeseries (cardinality) per metric name per day
Max payloads per minute
100k (learn more)
Max attributes per metric
Max metric attribute name length
Max characters for an attribute key
Max metric attribute value length
Allowed HTTP protocols
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
Total maximum size or length: 1MB (10^6 bytes) maximum per POST. We highly recommend using compression.
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:
Max unique Count and Summary timeseries (cardinality) per account per 5 minute interval
1-15 million (learn more)
A timeseries is a single, unique combination of a metric name and any attributes. Timeseries received above this limit are dropped. This limit is enforced prior to and in addition to standard metric limits.
Metric API limits apply at the individual account level. The default limits for DPM and cardinality range 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. DPM and 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.
This section describes how the Metric API behaves when you exceed the rate limits, and how to respond if limits are exceeded.
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:
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:
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:
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)
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
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.