From discussion on #3521 (comment): it'd be useful to mark attributes that are large so that instrumentations, OTel SDK and consumers can process them differently.
The lightweight way of doing this is through annotations in semconv, they don't go over OTLP, but instrumentation / pipeline code can be written / generated in a way that handles these attributes differently (e.g. uploads to a different type of storage).
Proposed annotation name: value_size
Alternatives: value_size_hint, expected_value_size, value_size etc
This is how it looks like along with other existing or possible future annotations
annotations:
value_size: large # enum: large, short; none means unknown / medium
cardinality: high # enum: low, medium, and high - useful to validate metric and identifying attrs definitions
sensitivity: PII # secrets, linked PII, etc - just a string for now. when present, it's sensitive in one of the ways
# existing:
code_generation:
exclude: true
From discussion on #3521 (comment): it'd be useful to mark attributes that are large so that instrumentations, OTel SDK and consumers can process them differently.
The lightweight way of doing this is through annotations in semconv, they don't go over OTLP, but instrumentation / pipeline code can be written / generated in a way that handles these attributes differently (e.g. uploads to a different type of storage).
Proposed annotation name:
value_sizeAlternatives:
value_size_hint,expected_value_size,value_sizeetcThis is how it looks like along with other existing or possible future annotations