prometheus/storage/local
beorn7 96a303b348 storage: Use staleness delta as head chunk timeout
Currently, if a series stops to exist, its head chunk will be kept
open for an hour. That prevents it from being persisted. Which
prevents it from being evicted. Which prevents the series from being
archived.

Most of the time, once no sample has been added to a series within the
staleness limit, we can be pretty confident that this series will not
receive samples anymore. The whole chain as described above can be
started after 5m instead of 1h. In the relaxed case, this doesn't
change a lot as the head chunk timeout is only checked during series
maintenance, and usually, a series is only maintained every six
hours. However, there is the typical scenario where a large service is
deployed, the deoply turns out to be bad, and then it is deployed
again within minutes, and quite quickly the number of time series has
tripled. That's the point where the Prometheus server is stressed and
switches (rightfully) into rushed mode. In that mode, time series are
processed as quickly as possible, but all of that is in vein if all of
those recently ended time series cannot be persisted yet for another
hour. In that scenario, this change will help most, and it's exactly
the scenario where help is most desperately needed.
2017-03-26 23:44:50 +02:00
..
chunk storage: Make tests go-vet and golint clean 2016-12-13 17:07:27 +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 Make version informations consistent between prometheus components 2016-05-05 22:33:18 +02:00
crashrecovery.go Fix possible memory leak by defer inside loop 2016-11-14 14:08:08 +09:00
heads.go storage: Test for errors returned by MaybePopulateLastTime 2017-02-01 23:43:58 +01:00
instrumentation.go storage: separate chunk package, publish more names 2016-09-26 13:25:11 +02:00
interface.go storage: enhance Querier interface usage 2016-10-16 10:39:29 +02:00
locker.go Avoid having contended mutexes on same cacheline 2016-09-18 23:32:55 +01: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
noop_storage.go storage: Make tests go-vet and golint clean 2016-12-13 17:07:27 +01:00
persistence.go storage: Fix chunkIndexToStartSeek calculation 2017-02-10 11:42:59 +01:00
persistence_test.go storage: Fix chunkIndexToStartSeek calculation 2017-02-10 11:42:59 +01:00
series.go storage: Use staleness delta as head chunk timeout 2017-03-26 23:44:50 +02:00
series_test.go Unpublish accidentally published series methods 2016-10-03 00:04:56 +02:00
storage.go storage: Use staleness delta as head chunk timeout 2017-03-26 23:44:50 +02:00
storage_test.go storage: Use staleness delta as head chunk timeout 2017-03-26 23:44:50 +02:00
test_helpers.go storage: Use staleness delta as head chunk timeout 2017-03-26 23:44:50 +02:00