Set and check (and document) a global label_value_length_limit
#16,525 opened on Apr 30, 2025
Repository metrics
- Stars
- (64,042 stars)
- PR merge metrics
- (Avg merge 11d 5h) (118 merged PRs in 30d)
Description
Proposal
Prometheus has label_name_length_limit and label_value_length_limit, currently defaulted to no limit.
After #16069, Prometheus will crash if you give it a name or value longer than 16MB, so we should at least have a default limit lower than that.
I think that a reasonable limit would be more like 200 bytes, but I am aware of people doing exciting things like storing a bitmap in a label. Maybe we could go with something like 1MB?
The code checking limits while scraping would need to check before constructing the Labels data structure, and we should check in other places such as the remote-write receiver, label_replace, label_join.