mirror of
https://github.com/prometheus/prometheus.git
synced 2025-01-13 14:57:40 -08:00
b6dbb826ae
This improves fuzz testing in two ways: (1) More realistic time stamps. So far, the most common case in practice was very rare in the test: Completely regular increases of the timestamp. (2) Verify samples by scanning through the whole relevant section of the series. For Gorilla-like chunks, this showed two things: (1) With more regularly increasing time stamps, BenchmarkFuzz is essentially as fast as with the traditional chunks: ``` BenchmarkFuzzChunkType0-8 2 972514684 ns/op 83426196 B/op 2500044 allocs/op BenchmarkFuzzChunkType1-8 2 971478001 ns/op 82874660 B/op 2512364 allocs/op BenchmarkFuzzChunkType2-8 2 999339453 ns/op 76670636 B/op 2366116 allocs/op ``` (2) There was a bug related to when and how the chunk footer is overwritten to make use for the last sample. This wasn't exposed by random access as the last sample of a chunk is retrieved from the values in the header in that case. |
||
---|---|---|
.. | ||
codable | ||
fixtures/b0 | ||
index | ||
storagetool | ||
chunk.go | ||
crashrecovery.go | ||
delta.go | ||
delta_helpers.go | ||
doubledelta.go | ||
gorilla.go | ||
gorilla_helpers.go | ||
gorilla_test.go | ||
heads.go | ||
instrumentation.go | ||
interface.go | ||
locker.go | ||
locker_test.go | ||
mapper.go | ||
mapper_test.go | ||
persistence.go | ||
persistence_test.go | ||
preload.go | ||
series.go | ||
storage.go | ||
storage_test.go | ||
test_helpers.go |