One thing I'm missing from the textformat is, that the order of label keys is expected to remain consistent in a single scrape of a histogram bucket
So, good:
# TYPE foo histogram
foo_bucket{a=x,b=x,le="0.0"} 0
foo_bucket{a=x,b=x,le="0.1"} 8
foo_bucket{a=x,b=x,le="+Inf"} 17
And bad:
# TYPE foo histogram
foo_bucket{a=x,b=x,le="0.0"} 0
foo_bucket{b=x,a=x,le="0.1"} 8 # here a and b are switched
foo_bucket{a=x,b=x,le="+Inf"} 17
This guarantee could help parsers be more efficient as they can compare labels using simple string comparing vs. decoding the labels into maps first and then comparing those.
One thing I'm missing from the textformat is, that the order of label keys is expected to remain consistent in a single scrape of a histogram bucket
So, good:
And bad:
This guarantee could help parsers be more efficient as they can compare labels using simple string comparing vs. decoding the labels into maps first and then comparing those.