prometheus/storage
beorn7 aa82fe198f tsdb: Fix histogram validation
So far, `ValidateHistogram` would not detect if the count did not
include the count in the zero bucket. This commit fixes the problem
and updates all the tests that have been undetected offenders so far.

Note that this problem would only ever create false negatives, so we
never falsely rejected to store a histogram because of it.

On the other hand, `ValidateFloatHistogram` has been to strict with
the count being at least as large as the sum of the counts in all the
buckets. Float precision issues could create false positives here, see
products of PromQL evaluations, it's actually quite hard to put an
upper limit no the floating point imprecision. Users could produce the
weirdest expressions, maxing out float precision problems. Therefore,
this commit simply removes that particular check from
`ValidateFloatHistogram`.

Signed-off-by: beorn7 <beorn@grafana.com>
2023-08-22 23:04:01 +02:00
..
remote tsdb: Fix histogram validation 2023-08-22 23:04:01 +02:00
buffer.go storage: optimise sampleRing 2023-05-03 20:09:29 +02:00
buffer_test.go Merge pull request #12264 from rabenhorst/sample-ring-iterator-mixed-histograms-fix 2023-04-20 16:58:18 +02:00
fanout.go style: Replace else if cascades with switch 2023-04-19 17:22:31 +02:00
fanout_test.go lint: Adjust to the lint warnings raised by current versions of golint-ci 2023-04-19 17:10:10 +02:00
generic.go Move packages out of deprecated pkg directory 2021-11-09 08:03:10 +01:00
interface.go lint: Adjust to the lint warnings raised by current versions of golint-ci 2023-04-19 17:10:10 +02:00
lazy.go tsdb: Added ChunkQueryable implementations to db; unified MergeSeriesSets and vertical to single struct. (#7069) 2020-07-31 16:03:02 +01:00
memoized_iterator.go Make MemoizedSeriesIterator not implement chunkenc.Iterator 2023-05-03 12:45:39 -07:00
memoized_iterator_test.go Make MemoizedSeriesIterator not implement chunkenc.Iterator 2023-05-03 12:45:39 -07:00
merge.go style: Replace else if cascades with switch 2023-04-19 17:22:31 +02:00
merge_test.go storage: Use separate sample types for histogram vs. float 2023-04-13 19:25:24 +02:00
noop.go Move packages out of deprecated pkg directory 2021-11-09 08:03:10 +01:00
secondary.go Move packages out of deprecated pkg directory 2021-11-09 08:03:10 +01:00
series.go Hide histogram chunk append and reset header internals (#12352) 2023-07-26 15:08:16 +02:00
series_test.go Fix setting reset header to gauge histogram in seriesToChunkEncoder (#12329) 2023-05-05 18:04:30 +05:30