mirror of
https://github.com/prometheus/prometheus.git
synced 2024-11-10 07:34:04 -08:00
a90d645378
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. |
||
---|---|---|
.. | ||
codable | ||
fixtures/b0 | ||
index | ||
storagetool | ||
chunk.go | ||
crashrecovery.go | ||
delta.go | ||
delta_helpers.go | ||
doubledelta.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 | ||
varbit.go | ||
varbit_helpers.go | ||
varbit_test.go |