prometheus/storage/local
beorn7 a90d645378 Checkpoint fingerprint mappings only upon shutdown
Before, we checkpointed after every newly detected fingerprint
collision, which is not a problem as long as collisions are
rare. However, with a sufficient number of metrics or particular
nature of the data set, there might be a lot of collisions, all to be
detected upon the first set of scrapes, and then the checkpointing
after each detection will take a quite long time (it's O(n²),
essentially).

Since we are rebuilding the fingerprint mapping during crash recovery,
the previous, very conservative approach didn't even buy us
anything. We only ever read from the checkpoint file after a clean
shutdown, so the only time we need to write the checkpoint file is
during a clean shutdown.
2016-04-15 01:03:28 +02: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 Rename Gorilla into varbit 2016-03-23 16:30:41 +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
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 Add missing license headers 2016-04-13 16:08:22 +02:00
locker_test.go Add missing license headers 2016-04-13 16:08:22 +02:00
mapper.go Checkpoint fingerprint mappings only upon shutdown 2016-04-15 01:03:28 +02:00
mapper_test.go Checkpoint fingerprint mappings only upon shutdown 2016-04-15 01:03:28 +02:00
persistence.go Checkpoint fingerprint mappings only upon shutdown 2016-04-15 01:03:28 +02: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 Checkpoint fingerprint mappings only upon shutdown 2016-04-15 01:03:28 +02:00
storage_test.go Checkpoint fingerprint mappings only upon shutdown 2016-04-15 01:03:28 +02:00
test_helpers.go Merge the parallel logic of getSeriesForRange and metricForFingerprint 2016-03-09 21:56:15 +01:00
varbit.go Work around compiler bug 2016-03-29 17:05:28 +02:00
varbit_helpers.go Rename Gorilla into varbit 2016-03-23 16:30:41 +01:00
varbit_test.go Rename Gorilla into varbit 2016-03-23 16:30:41 +01:00