You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
Commit c7e9c95
Browse filesBrowse the repository at this point in the historyBrowse files
fix(otel): sync OTEL_METRICS_KNOWN_FIELD_LIST with emitted keys (#1723) (#1724)
compute_series_hash treats any top-level data-point key not in
OTEL_METRICS_KNOWN_FIELD_LIST as a series label, so the list must match
the keys the flatteners actually emit. It had drifted both ways:
- Emitted but missing (fragmented series): `min` and `max` (histogram
per-sample stats) and `data_point_quantile_values` (summary quantile
array). Their per-sample values leaked into __series_hash, splitting a
physical series into many.
- Listed but never emitted as top-level keys (dead entries): `quantile`
and `value` (only emitted nested inside data_point_quantile_values),
plus the never-used data_point_quantile_values_quantile /
data_point_quantile_values_value. `value`/`quantile` also risked
collisions: a user attribute of that name was silently dropped from
series identity, merging distinct series.
Add the 3 missing keys, remove the 4 dead ones (length 37 -> 36), and
add tests for min/max and quantile-value fragmentation plus the
value/quantile collision.
fix(otel): prefix histogram min/max keys to avoid shadowing user attributes
Bare min/max top-level keys collide with any OTel attribute literally
named min or max once added to OTEL_METRICS_KNOWN_FIELD_LIST, wrongly
excluding that attribute from the series hash. Renamed to
data_point_min/data_point_max, matching every other data-point field's
naming convention, and added a regression test for the collision case.
---------
Signed-off-by: parmesant <anant.v09@protonmail.com>
Co-authored-by: parmesant <anant.v09@protonmail.com>
0 commit comments