Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 2 additions & 0 deletions content/docs/(documentation)/query-data/metrics.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -46,6 +46,8 @@ You can ingest OTel metrics the same way you ingest other types of OTel data.

For more information, see [Send OpenTelemetry data to Axiom](/send-data/opentelemetry).

For the maximum request size and the other limits that apply to metrics ingestion, see [Limits on ingested metrics](/reference/limits#limits-on-ingested-metrics).

<Note>
The `/v1/metrics` endpoint only supports the `application/x-protobuf` content type. JSON format isn’t supported for metrics ingestion.
</Note>
Expand Down
21 changes: 20 additions & 1 deletion content/docs/(documentation)/reference/limits.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -55,7 +55,7 @@ The following limits are applied to all accounts, irrespective of the pricing pl

### Limits on ingested data

The table below summarizes the limits Axiom applies to each data ingest. These limits are independent of your pricing plan.
The table below summarizes the limits Axiom applies to each data ingest. These limits are independent of your pricing plan. For metrics, see [Limits on ingested metrics](#limits-on-ingested-metrics).

| | Limit |
| ---------------------------- | --------- |
Expand All @@ -72,6 +72,25 @@ If you try to ingest data that exceeds these limits, Axiom does the following:
- +Infty
- -Infty

### Limits on ingested metrics

The limits below apply to OpenTelemetry metrics that you send to the `/v1/metrics` endpoint. They’re separate from the event ingest limits above and independent of your pricing plan.

| | Limit |
| ------------------------------ | --------------------------- |
| Maximum request size | 4 MiB (4,194,304 bytes) |
| Maximum metric name length | 256 bytes |
| Maximum attribute name length | 256 bytes |
| Maximum attribute value length | 1 KiB (1,024 bytes) |

The maximum request size applies to the uncompressed payload. Axiom accepts gzip, zstd, brotli, and deflate compression, and compressing requests reduces the bandwidth you use. Axiom checks the request size after decompressing the request, so compression doesn’t allow you to send more data in a single request.

If a request exceeds the maximum request size, Axiom rejects it with the HTTP status code `413`. The OpenTelemetry Collector treats this status code as a permanent error, so it drops the batch instead of retrying it.

To keep requests within the limit, use the `batch` processor in your OpenTelemetry Collector configuration and set `send_batch_max_size`. Whether a given batch size stays within 4 MiB depends on the number of attributes that your data points carry. If you receive `413` responses, reduce `send_batch_max_size`. For an example configuration, see [Send OpenTelemetry data to Axiom](/send-data/opentelemetry).

If a metric name or an attribute exceeds the limits above, Axiom doesn’t reject the whole request. It responds with the HTTP status code `200` and an OpenTelemetry `partial_success` message that reports the number of rejected data points.

### Special fields

Axiom creates the following two fields automatically for a new dataset:
Expand Down
Loading