Skip to content

[Feedback][proto-v2]Proposal: Attribute Registry & Deduplication Support #718

@shubhamgptln

Description

@shubhamgptln

In continuation of #13785 (Universal Attribute Deduplication), I would like to propose moving forward with a protocol-level extension to be considered for future upgrade.

The idea is to add optional OTLP field that allow exporters and receivers to exchange attributes using a registry + reference model instead of repeating the full attribute sets.

How it works:

  • During batching, common attribute sets are deduplicated and stored in a per-batch registry.
  • Spans/logs/metrics/profiles then reference the registry entries by ID.
  • If both sides support the extension, they can negotiate this optimized path during connection setup.
  • If the receiver does not support it, exporters fall back to sending the fully expanded attributes (backward compatible).

Pros:

  • Provides both memory savings inside the collector and network savings across the wire.
  • Clean separation between the optimized(new) and expanded(old already ecisting) paths, so older exporters/backends can ignore the new fields safely.
  • Extensible beyond spans/logs to metrics and profiles in the future.

I believe this delivers the highest long-term impact compared to a memory only approach, while still keeping compatibility intact. Would be great to gather feedback on extending OTLP in this way and defining the negotiation mechanism

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions