Skip to content
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

Allow implementations to export log records with duplicate keys in a map as opt-in #3987

Merged
merged 25 commits into from
Apr 26, 2024
Merged
Show file tree
Hide file tree
Changes from 3 commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 2 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -26,6 +26,8 @@ release.
([#3898](https://github.com/open-telemetry/opentelemetry-specification/pull/3898))
- Fix what can be modified via `ReadWriteLogRecord`.
([#3907](https://github.com/open-telemetry/opentelemetry-specification/pull/3907))
- Allow SDKs to have duplicated keys in a map if they provide means to have them deduplicated when log records are exported.
([#3938](https://github.com/open-telemetry/opentelemetry-specification/pull/3938))

### Events

Expand Down
4 changes: 3 additions & 1 deletion specification/logs/data-model.md
Original file line number Diff line number Diff line change
Expand Up @@ -120,7 +120,9 @@ Value of type `any` can be one of the following:

Value of type `map<string, any>` is a map of string keys to `any` values. The
keys in the map are unique (duplicate keys are not allowed). The representation
of the map is language-dependent.
of the map is language-dependent. The SDKs MAY allow duplicated keys (represent
the map as an array/list of key-values) as long as they provide means to have
them deduplicated when log records are exported.
pellared marked this conversation as resolved.
Show resolved Hide resolved
pellared marked this conversation as resolved.
Show resolved Hide resolved

Arbitrary deep nesting of values for arrays and maps is allowed (essentially
allows to represent an equivalent of a JSON object).
Expand Down