prometheus/storage/local
beorn7 b6dbb826ae Improve fuzz testing and fix a bug exposed
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.
2016-03-20 17:21:28 +01:00
..
codable Replace metric.LabelPair with model.LabelPair 2015-08-22 13:32:13 +02:00
fixtures/b0 Add benchmark for loading chunks and chunk descs. 2015-03-19 19:28:21 +01:00
index Handle errors caused by data corruption more gracefully 2016-03-02 23:02:34 +01:00
storagetool Move dump-heads into its own tool 2016-03-07 16:30:19 +01:00
chunk.go Review improvements 2016-03-17 17:31:56 +01:00
crashrecovery.go Clean up error propagation 2016-03-09 18:56:30 +01:00
delta.go Implement Gorilla-inspired chunk encoding 2016-03-17 14:47:08 +01:00
delta_helpers.go Switch from client_golang/model to common/model 2015-08-21 13:33:38 +02:00
doubledelta.go Implement Gorilla-inspired chunk encoding 2016-03-17 14:47:08 +01:00
gorilla.go Improve fuzz testing and fix a bug exposed 2016-03-20 17:21:28 +01:00
gorilla_helpers.go Implement Gorilla-inspired chunk encoding 2016-03-17 14:47:08 +01:00
gorilla_test.go Implement Gorilla-inspired chunk encoding 2016-03-17 14:47:08 +01:00
heads.go Merge branch 'master' into beorn7/storage4 2016-03-08 00:14:00 +01:00
instrumentation.go Handle errors caused by data corruption more gracefully 2016-03-02 23:02:34 +01:00
interface.go Improve MetricsForLabelMatchers 2016-03-09 00:25:59 +01:00
locker.go Switch from client_golang/model to common/model 2015-08-21 13:33:38 +02:00
locker_test.go Switch from client_golang/model to common/model 2015-08-21 13:33:38 +02:00
mapper.go Switch to common/log 2015-10-03 10:21:43 +02:00
mapper_test.go Switch from client_golang/model to common/model 2015-08-21 13:33:38 +02:00
persistence.go Clean up error propagation 2016-03-09 18:56:30 +01:00
persistence_test.go Implement Gorilla-inspired chunk encoding 2016-03-17 14:47:08 +01:00
preload.go Merge branch 'beorn7/storage3' into beorn7/storage4 2016-03-09 17:13:16 +01:00
series.go Merge branch 'beorn7/storage5' into beorn7/storage6 2016-03-09 17:21:32 +01:00
storage.go Resurrect and rename invalid preload requests count metric. 2016-03-13 11:54:24 +01:00
storage_test.go Improve fuzz testing and fix a bug exposed 2016-03-20 17:21:28 +01:00
test_helpers.go Merge the parallel logic of getSeriesForRange and metricForFingerprint 2016-03-09 21:56:15 +01:00