Skip to content

OTEP: Extending attributes to support complex values #4485

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 63 commits into from
Jul 15, 2025

Conversation

lmolkova
Copy link
Contributor

@lmolkova lmolkova commented Apr 22, 2025

Related to #4468, #4414

This OTEP suggests a path forward on how to support complex attributes. It proposes to:

  • allow complex attributes on all signals by default on the API and SDK level
  • discourage them on metrics, resources, instrumentation scope, and identifying attributes on entities. If complex attribute is provided, it's probably by mistake, but we let backend decide.
  • provide guidance in semconv to default to flat attributes whenever possible and develop conventions with an assumption that complex attributes are not indexed, not queryable and not efficient.
  • documents how limits can apply to complex attributes (leaf nodes are counted towards the attribute count limit and are truncated based on the value limit) and suggests other ways to protect from users misusing complex attributes.

Having experimental phase for complex attributes limits the impact of this change and gives backends a graceful period to update.

@lmolkova lmolkova marked this pull request as ready for review April 22, 2025 22:45
@lmolkova lmolkova requested review from a team as code owners April 22, 2025 22:45
Copy link
Member

@pellared pellared left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

In general, LGTM. There are still some things that would be good to have clarified.

lmolkova added 2 commits July 8, 2025 12:39
…ents to implementations that allow using complex attrs on metrics, resources, entities, instr scope
@reyang reyang enabled auto-merge July 15, 2025 00:38
@trask trask disabled auto-merge July 15, 2025 00:46
@lmolkova lmolkova added this pull request to the merge queue Jul 15, 2025
Merged via the queue into open-telemetry:main with commit 8aa1d27 Jul 15, 2025
6 checks passed
@lmolkova lmolkova deleted the complex-attributes branch July 15, 2025 17:14
@github-project-automation github-project-automation bot moved this from In Progress to Done in Go: Logs (GA) Jul 15, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
Status: Done
Development

Successfully merging this pull request may close these issues.