Skip to main content
Digital systems10 min read

OpenTelemetry cardinality is a reliability budget

Recent OpenTelemetry guidance notes that SDKs limit cardinality to protect memory when a metric receives too many attribute combinations. The limit prevents local collapse, but may also drop series the team expected to investigate.

Updated
Editorial date
2026-08-20
Scope
OpenTelemetry metrics · cardinality and cost
Nature
Daily edition recovered on 24 August 2026; facts anchored to the publication date
Verified
24 August 2026
Conceptual editorial composition about opentelemetry cardinality is a reliability budget
Set a per-metric budget from the operating question and deny attributes without a bounded population and clear use.AI-generated image under Velqory editorial direction.

In brief

Recent OpenTelemetry guidance notes that SDKs limit cardinality to protect memory when a metric receives too many attribute combinations. The limit prevents local collapse, but may also drop series the team expected to investigate. Set a per-metric budget from the operating question and deny attributes without a bounded population and clear use. user_id, request_id, free-form URL, or error message can turn a useful metric into a near-unbounded dimension.

  • Cardinality is the product of value combinations, not only the number of attribute names.
  • Set a per-metric budget from the operating question and deny attributes without a bounded population and clear use.
  • inventorying metrics, attributes, estimated population, and the query each supports.
  • The dashboard should show accepted and dropped series, memory, cost, and lost investigative value per metric.

The signal and the facts that change the decision

Recent OpenTelemetry guidance notes that SDKs limit cardinality to protect memory when a metric receives too many attribute combinations. The limit prevents local collapse, but may also drop series the team expected to investigate.

Cardinality is the product of value combinations, not only the number of attribute names. Limits and behaviour vary by SDK and version; configuration must be verified in the implementation in use.

Logs and traces can carry high-cardinality identifiers that do not belong in aggregated metrics. user_id, request_id, free-form URL, or error message can turn a useful metric into a near-unbounded dimension.

Operating window

  1. 08-20
    Signal confirmed

    Recent OpenTelemetry guidance notes that SDKs limit cardinality to protect memory when a metric receives too many attribute combinations. The limit prevents local collapse, but may also drop series the team expected to investigate.

  2. AGORA
    Fix the scope

    Cardinality is the product of value combinations, not only the number of attribute names.

  3. GATE
    Make the decision

    Set a per-metric budget from the operating question and deny attributes without a bounded population and clear use.

  4. FECHO
    Retain the proof

    The dashboard should show accepted and dropped series, memory, cost, and lost investigative value per metric.

Decision, limits, and stop condition

Set a per-metric budget from the operating question and deny attributes without a bounded population and clear use.

user_id, request_id, free-form URL, or error message can turn a useful metric into a near-unbounded dimension.

Operating gate

An unknown answer keeps the item open and owned.

QuestionDecisionProof
Is the asset in scope?Cardinality is the product of value combinations, not only the number of attribute names.Limits and behaviour vary by SDK and version; configuration must be verified in the implementation in use.
Does the risk change priority?Set a per-metric budget from the operating question and deny attributes without a bounded population and clear use.Logs and traces can carry high-cardinality identifiers that do not belong in aggregated metrics.
Can the action be closed?user_id, request_id, free-form URL, or error message can turn a useful metric into a near-unbounded dimension.The dashboard should show accepted and dropped series, memory, cost, and lost investigative value per metric.

Execution and proof of completion

Execution should start by inventorying metrics, attributes, estimated population, and the query each supports. Then, generating realistic-cardinality load and observing memory, drops, and backend cost. Closure requires moving identifiers to exemplars, logs, or traces where appropriate.

The dashboard should show accepted and dropped series, memory, cost, and lost investigative value per metric.

  • inventorying metrics, attributes, estimated population, and the query each supports.
  • generating realistic-cardinality load and observing memory, drops, and backend cost.
  • moving identifiers to exemplars, logs, or traces where appropriate.
  • The dashboard should show accepted and dropped series, memory, cost, and lost investigative value per metric.

Consulted on the stated update date.

  1. 01What can you do with OpenTelemetry entity events?OpenTelemetry · SYS-OTEL
  2. 02Metric cardinality limits in OpenTelemetryOpenTelemetry · SYS-OTEL
  3. 03OpenTelemetry resources semantic conventionsOpenTelemetry · SYS-OTEL
  4. 04OpenTelemetry Collector scalingOpenTelemetry · SYS-OTEL
  5. 05OpenTelemetry troubleshootingOpenTelemetry · SYS-OTEL
  6. 06Cybersecurity Framework 2.0NIST · GL-NIST