This specification is maintained by the AgentRules Working Group. Have enhancements or want to claim maintainership?Submit Specification →
devopscritical PriorityID: otel-arrow-columnar-compression-standard

OpenTelemetry Arrow Columnar Stream Compression Standard

Enforces OpenTelemetry Arrow-native columnar streaming transport over standard row-oriented OTLP/Protobuf to mitigate memory allocation spikes and garbage collection thrashing on edge collectors. Converts high-cardinality telemetry into Apache Arrow RecordBatches, maximizing compression ratios via dictionary encoding and LZ4/Zstandard block compression before egress. Guarantees deterministic memory overhead and lower network bandwidth consumption across distributed ingestion topologies.

Prohibited Anti-Pattern: Row-Oriented OTLP Protobuf Serialization Under High-Cardinality Telemetry Bursts

Export Ready-to-Drop Configuration

Select format below to copy code or download file directly.

---
description: OpenTelemetry Arrow Columnar Stream Compression Standard - Enforces OpenTelemetry Arrow-native columnar streaming transport over standard row-oriented OTLP/Protobuf to mitigate memory allocation spikes and garbage collection thrashing on edge collectors. Converts high-cardinality telemetry into Apache Arrow RecordBatches, maximizing compression ratios via dictionary encoding and LZ4/Zstandard block compression before egress. Guarantees deterministic memory overhead and lower network bandwidth consumption across distributed ingestion topologies.
globs: **/otelcol*.{yaml,yml}, **/collector*.{yaml,yml}, infra/monitoring/**/*.{yaml,yml}, k8s/observability/**/*.{yaml,yml}
alwaysApply: true
verified_by: "agentrules.org"
license: "CC-BY-4.0"
source: "https://agentrules.org/rules/otel-arrow-columnar-compression-standard"
---

# OpenTelemetry Arrow Columnar Stream Compression Standard

> **Severity**: CRITICAL | **Category**: devops
> **Anti-Pattern Warning**: Row-Oriented OTLP Protobuf Serialization Under High-Cardinality Telemetry Bursts

## System Constraints
You are a Principal Observability Infrastructure Architect enforcing the OpenTelemetry Arrow Columnar Stream Compression Standard. You must mandate the use of Apache Arrow RecordBatch IPC transport (otelarrow receiver and exporter) for high-throughput, high-cardinality telemetry pipelines. Standard row-oriented OTLP Protobuf payloads allocate excessive transient heap objects under high ingestion rates, triggering edge collector OOMs and CPU-intensive GC cycles. You must ensure all edge-to-gateway pipelines configure columnar batching, dictionary encoding, memory limits, and zstd stream compression.

## Strict Guidelines
- Services MUST configure the 'otelarrow' exporter instead of raw 'otlp' for high-throughput edge-to-gateway telemetry transmission.
- Engineers MUST ALWAYS declare explicit memory limiter processors ('memory_limiter') preceding any batching or Arrow serialization stage.
- Collectors MUST enable Arrow dictionary encoding for string attributes to deduplicate repetitive high-cardinality metadata in memory.
- Pipelines SHOULD employ Zstandard ('zstd') compression with balanced compression levels (level 1-3) over gzip for optimal throughput-to-compression tradeoffs.
- Components NEVER transmit uncompressed row-oriented Protobuf payloads across cluster boundaries when telemetry throughput exceeds 5,000 spans/metrics/logs per second.

## Bad vs Good Implementations
### OpenTelemetry Collector Arrow Pipeline Configuration

#### Bad Antipattern (AI Common Hallucination)
> **Why it fails**: Standard OTLP/gRPC serializes spans individually into row-oriented Protobuf structures. In high-cardinality environments, repeated string allocations for attributes trigger aggressive Go runtime GC pauses, heap fragmentation, and eventual container OOMKills under burst traffic.
```yaml
# INVARIANT VIOLATION: Row-oriented standard OTLP/gRPC exporter under high cardinality
receivers:
  otlp:
    protocols:
      grpc:
        endpoint: 0.0.0.0:4317

processors:
  batch:
    send_batch_size: 1000
    timeout: 10s

exporters:
  otlp:
    endpoint: gateway.monitoring.internal:4317
    tls:
      insecure: true

service:
  pipelines:
    traces:
      receivers: [otlp]
      processors: [batch]
      exporters: [otlp]
```

#### Production Standard (Correct)
> **Standard**: Adheres to the Arrow Columnar standard by deploying the otelarrow exporter with zstd compression and columnar batching. Memory limiter prevents edge OOMs, while Apache Arrow IPC organizes repetitive attributes into columnar dictionary-encoded arrays, drastically decreasing payload size and GC overhead.
```yaml
# PRODUCTION INVARIANT: Arrow columnar IPC transport with dictionary encoding and zstd compression
receivers:
  otlp:
    protocols:
      grpc:
        endpoint: 0.0.0.0:4317

processors:
  memory_limiter:
    check_interval: 1s
    limit_percentage: 80
    spike_limit_percentage: 20
  batch:
    send_batch_max_size: 8192
    send_batch_size: 4096
    timeout: 500ms

exporters:
  otelarrow:
    endpoint: gateway.monitoring.internal:4317
    compression: zstd
    arrow:
      memory_limit_mib: 512
      prioritize: throughput
      max_stream_lifetime: 2m
    tls:
      insecure: false
      ca_file: /etc/ssl/certs/internal-ca.pem

service:
  pipelines:
    traces:
      receivers: [otlp]
      processors: [memory_limiter, batch]
      exporters: [otelarrow]
```

Recommended MCP Servers (mcp-serverlist.com)

Equip agent with system tools to verify code for this stack.

Recommended Agent Skills (askills.dev)

Ready-to-use executable skill functions tailored to this stack.

Architectural Specification & Invariant Rationale

Architectural Invariant Design: OpenTelemetry Arrow Columnar Stream Compression Standard

OpenTelemetry Arrow Columnar Stream Compression Standard defines an industrial-grade behavioral standard for devops engineering. Enforces OpenTelemetry Arrow-native columnar streaming transport over standard row-oriented OTLP/Protobuf to mitigate memory allocation spikes and garbage collection thrashing on edge collectors. Converts high-cardinality telemetry into Apache Arrow RecordBatches, maximizing compression ratios via dictionary encoding and LZ4/Zstandard block compression before egress. Guarantees deterministic memory overhead and lower network bandwidth consumption across distributed ingestion topologies. Modern software architectures require strict adherence to deterministic patterns to guarantee high availability, maintainability, and zero security vulnerabilities.

Framework Paradigm Shift & Drift MechanicsLLMs are trained on millions of open-source repositories containing outdated code, legacy idioms, and unpatched antipatterns. When coding assistants generate implementations for this stack, they default to common statistical tokens: Row-Oriented OTLP Protobuf Serialization Under High-Cardinality Telemetry Bursts Without an explicit system instruction file, developers spend hours debugging silent failures.
Failure Modes & Production Blast Radius

Hazard Analysis: What Breaks Without This Rule

The following failure modes have been cataloged from hundreds of hours of production code reviews where AI assistants produced non-compliant implementations:

Failure ModeAI Symptom (The Anti-Pattern)SeverityProduction Impact & Remedy
AI Hallucination & Deprecation DriftRow-Oriented OTLP Protobuf Serialization Under High-Cardinality Telemetry BurstsCritical
Violating this industrial standard introduces regression bugs, security risks, and unexpected runtime failures in production.
Enforce explicit behavioral system directives across all AI coding assistants in your repository.
Silent Architecture InconsistencyAI assistants produce mixed paradigms across files, creating fragmented codebase conventions.Medium
Increases cognitive load during code reviews and leads to maintenance debt across engineering teams.
Pin project conventions in .cursor/rules, CLAUDE.md, and AGENTS.md so all team agents follow identical guardrails.
Architectural Directives in Detail

Step-by-Step Production Directives

Each rule constraint below is injected into the AI agent's system prompt to establish deterministic boundaries:

1

Services MUST configure the 'otelarrow' exporter instead of raw 'otlp' for high-throughput edge-to-gateway telemetry transmission.

Services MUST configure the 'otelarrow' exporter instead of raw 'otlp' for high-throughput edge-to-gateway telemetry transmission.

Rationale:AI models frequently generate unconstrained code here because statistical language distributions lack project-specific architectural context. Mandating this directive ensures that generated code adheres to verified industrial production requirements.
Enforcement:Integrated into the Agent Pack rule file. When Cursor, Claude Code, or Codex processes this prompt, it applies this constraint before emitting syntax.
2

Engineers MUST ALWAYS declare explicit memory limiter processors ('memory_limiter') preceding any batching or Arrow serialization stage.

Engineers MUST ALWAYS declare explicit memory limiter processors ('memory_limiter') preceding any batching or Arrow serialization stage.

Rationale:AI models frequently generate unconstrained code here because statistical language distributions lack project-specific architectural context. Mandating this directive ensures that generated code adheres to verified industrial production requirements.
Enforcement:Integrated into the Agent Pack rule file. When Cursor, Claude Code, or Codex processes this prompt, it applies this constraint before emitting syntax.
3

Collectors MUST enable Arrow dictionary encoding for string attributes to deduplicate repetitive high-cardinality metadata in memory.

Collectors MUST enable Arrow dictionary encoding for string attributes to deduplicate repetitive high-cardinality metadata in memory.

Rationale:AI models frequently generate unconstrained code here because statistical language distributions lack project-specific architectural context. Mandating this directive ensures that generated code adheres to verified industrial production requirements.
Enforcement:Integrated into the Agent Pack rule file. When Cursor, Claude Code, or Codex processes this prompt, it applies this constraint before emitting syntax.
4

Pipelines SHOULD employ Zstandard ('zstd') compression with balanced compression levels (level 1-3) over gzip for optimal throughput-to-compression tradeoffs.

Pipelines SHOULD employ Zstandard ('zstd') compression with balanced compression levels (level 1-3) over gzip for optimal throughput-to-compression tradeoffs.

Rationale:AI models frequently generate unconstrained code here because statistical language distributions lack project-specific architectural context. Mandating this directive ensures that generated code adheres to verified industrial production requirements.
Enforcement:Integrated into the Agent Pack rule file. When Cursor, Claude Code, or Codex processes this prompt, it applies this constraint before emitting syntax.
5

Components NEVER transmit uncompressed row-oriented Protobuf payloads across cluster boundaries when telemetry throughput exceeds 5,000 spans/metrics/logs per second.

Components NEVER transmit uncompressed row-oriented Protobuf payloads across cluster boundaries when telemetry throughput exceeds 5,000 spans/metrics/logs per second.

Rationale:AI models frequently generate unconstrained code here because statistical language distributions lack project-specific architectural context. Mandating this directive ensures that generated code adheres to verified industrial production requirements.
Enforcement:Integrated into the Agent Pack rule file. When Cursor, Claude Code, or Codex processes this prompt, it applies this constraint before emitting syntax.
Technical Questions & Answers

Frequently Asked Technical Questions

Common questions developers face when configuring AI coding assistants for this stack:

Q:Why is OpenTelemetry Arrow Columnar Stream Compression Standard critical for AI coding assistants?

Enforces OpenTelemetry Arrow-native columnar streaming transport over standard row-oriented OTLP/Protobuf to mitigate memory allocation spikes and garbage collection thrashing on edge collectors. Converts high-cardinality telemetry into Apache Arrow RecordBatches, maximizing compression ratios via dictionary encoding and LZ4/Zstandard block compression before egress. Guarantees deterministic memory overhead and lower network bandwidth consumption across distributed ingestion topologies. Without explicit behavioral boundaries, AI coding assistants (Cursor, Claude Code, Windsurf, Codex) rely on training data averages, which frequently produce deprecated, inefficient, or vulnerable code patterns.

Q:How does adopting this rule prevent AI hallucinations?

This rule explicitly declares what the AI must avoid (Row-Oriented OTLP Protobuf Serialization Under High-Cardinality Telemetry Bursts) and prescribes verified positive examples. Grounding the LLM with negative and positive pairs eliminates guesswork.

Q:Which AI coding environments are supported?

This specification is multi-platform compatible: Cursor (.cursor/rules/*.mdc & .cursorrules), Anthropic Claude Code (CLAUDE.md), Windsurf (.windsurfrules), Codex / Cline (AGENTS.md), and GitHub Copilot (.github/copilot-instructions.md).

Q:Can I combine this rule with other technology stacks?

Yes. Use the Interactive Stack Builder or download an Agent Pack to merge this rule with other frontend, backend, database, security, and DevOps rules without syntax collision.

Open Specification · CC BY 4.0·Free for Personal, Team & Commercial In-Repo Use

Citation & Open Source Attribution Guidelines

This specification is licensed under Creative Commons Attribution 4.0 International (CC BY 4.0). You are completely free to adapt and share this rule in your workspace. If citing, including in public AI benchmark datasets, or redistributing, attribution to AgentRules.org is required.

1 Rule in Stack

OpenTelemetry