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
fixtures/b0
index
storagetool
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
interface.go
locker.go
locker_test.go
mapper.go
mapper_test.go
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
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