Skip to content

Commit

Permalink
fix(limits): clarifying trace api limits
Browse files Browse the repository at this point in the history
  • Loading branch information
zuluecho9 committed Mar 22, 2022
1 parent aeb0151 commit 91fef07
Show file tree
Hide file tree
Showing 3 changed files with 16 additions and 5 deletions.
15 changes: 13 additions & 2 deletions src/content/docs/data-apis/manage-data/view-system-limits.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -164,11 +164,12 @@ The following table includes general max limits that apply across all New Relic

<tr>
<td>
Max attribute value length
Max attribute value length in characters
</td>

<td>
4096 characters
Metric, Trace, and Event API: 4096
Log API: 4094
</td>
</tr>

Expand Down Expand Up @@ -254,6 +255,16 @@ The following table includes general max limits that apply across all New Relic
</td>
</tr>

<tr>
<td>
Distributed tracing: Max spans per minute per APM agent instance
</td>

<td>
2000 (some have 1000)
</td>
</tr>

<tr>
<td>
Rate of [metric timeslice data](/docs/telemetry-data-platform/ingest-manage-data/understand-data/new-relic-data-types#timeslice-data) (used by APM, browser, mobile)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -52,7 +52,7 @@ Here are some details about how head-based sampling is implemented in our standa

The first service we monitor in a distributed trace is called the trace origin. The trace origin chooses requests at random to be traced. That decision propagates to the downstream services touched by that request. When the request has completed, all of the spans touched by that request that we've detected are made available in the UI as a complete trace (though [agent limits](#agent-limits-sampling) may result in fragmented traces).

APM agents have a limit on the number of transactions collected per minute (this can vary, depending on agent) and a limit on the number of spans collected per minute (1000 per agent instance). To adhere to these limits, the default number of traces at the trace origin is 10 traces per minute.
APM agents have a limit on the number of transactions collected per minute (this can vary, depending on agent) and a limit on the [number of spans collected per minute per agent instance](/docs/data-apis/manage-data/view-system-limits/#all_products). To adhere to these limits, the default number of traces at the trace origin is 10 traces per minute.

An APM agent spreads out the collection of these 10 traces over a minute in order to get a representative sample over time. The exact sampling rate depends on the number of transactions in the previous minute. The rate responds to changes in transaction throughput, going up or down.

Expand All @@ -63,7 +63,7 @@ Here are some details about how head-based sampling is implemented in our standa
id="agent-limits-sampling"
title="Language agents: limits and sampling"
>
An APM language agent instance using head-based sampling has a limit of 1000 spans per minute. The agent attempts to keep all spans that are marked to be sampled as part of a distributed trace.
An APM agent instance using head-based sampling has a maximum limit on [the number of spans per minute per agent instance](/docs/data-apis/manage-data/view-system-limits/#all_products). The agent attempts to keep all spans that are marked to be sampled as part of a distributed trace.

In many distributed systems, the average microservice may generate 10 to 20 spans per request. In those cases, the agent span limit can accommodate all spans chosen, and that service will have full detail in a trace.

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -448,7 +448,7 @@ traceId = <var>TRACE_ID_SENT</var>

## Data limits [#data-limits]

Distributed tracing rate limits are set per account and data type. For details about data limits, see [New Relic data usage limits and policies](/docs/licenses/license-information/general-usage-licenses/new-relic-data-usage-limits-policies/#all_products).
Distributed tracing rate limits are set per account and data type. For details about data limits, see [New Relic data usage limits and policies](/docs/data-apis/manage-data/view-system-limits).

When you exceed your span rate limit, an [`NrIntegrationError` event](/docs/telemetry-data-platform/manage-data/nrintegrationerror) is generated. You can query rate limit messages with this NRQL:

Expand Down

0 comments on commit 91fef07

Please sign in to comment.