prometheus/storage/metric
Julius Volz 7a577b86b7 Fix interval op special case.
In the case that a getValuesAtIntervalOp's ExtractSamples() is called
with a current time after the last chunk time, we return without
extracting any further values beyond the last one in the chunk
(correct), but also without advancing the op's time (incorrect). This
leads to an infinite loop in renderView(), since the op is called
repeatedly without ever being advanced and consumed.

This adds handling for this special case. When detecting this case, we
immediately set the op to be consumed, since we would always get a value
after the current time passed in if there was one.

Change-Id: Id99149e07b5188d655331382b8b6a461b677005c
2014-03-26 13:29:03 +01:00
..
.gitignore Spin up curator run in the tests. 2013-04-05 13:55:11 +02:00
compaction_regression_test.go Switch to new "__name__" metric name label. 2014-03-14 16:52:37 +01:00
curator.go Major code cleanup in storage. 2014-02-27 15:22:37 +01:00
dto.go WIP - Snapshot of Moving to Client Model. 2013-06-25 15:52:42 +02:00
end_to_end_test.go Remove unused labelname -> fingerprints index. 2014-03-05 23:49:33 +01:00
freelist.go Add regression tests for 'loop until op is consumed' bug. 2014-03-12 18:40:24 +01:00
freelist_test.go Add regression tests for 'loop until op is consumed' bug. 2014-03-12 18:40:24 +01:00
helpers_test.go Use custom timestamp type for sample timestamps and related code. 2013-12-03 09:11:28 +01:00
index.go Remove unused labelname -> fingerprints index. 2014-03-05 23:49:33 +01:00
instrumentation.go Remove unused labelname -> fingerprints index. 2014-03-05 23:49:33 +01:00
interface.go Remove unused labelname -> fingerprints index. 2014-03-05 23:49:33 +01:00
interface_test.go Use LRU cache to avoid querying stale series. 2013-06-06 23:56:19 +02:00
labelpair.go Major code cleanup in storage. 2014-02-27 15:22:37 +01:00
labelpair_test.go WIP - Snapshot of Moving to Client Model. 2013-06-25 15:52:42 +02:00
leveldb.go Convert metric.Values to slice of values. 2014-03-11 18:23:37 +01:00
memory.go Convert metric.Values to slice of values. 2014-03-11 18:23:37 +01:00
memory_test.go Convert metric.Values to slice of values. 2014-03-11 18:23:37 +01:00
objective.go Update low-level i'faces to reflect wireformats. 2013-09-04 17:13:58 +02:00
operation.go Fix interval op special case. 2014-03-26 13:29:03 +01:00
operation_test.go Add regression tests for 'loop until op is consumed' bug. 2014-03-12 18:40:24 +01:00
processor.go Store samples in custom binary encoding. 2014-03-09 22:31:38 +01:00
processor_test.go Store samples in custom binary encoding. 2014-03-09 22:31:38 +01:00
regressions_test.go Use custom timestamp type for sample timestamps and related code. 2013-12-03 09:11:28 +01:00
rule_integration_test.go Major code cleanup in storage. 2014-02-27 15:22:37 +01:00
sample.go Convert metric.Values to slice of values. 2014-03-11 18:23:37 +01:00
sample_test.go Convert metric.Values to slice of values. 2014-03-11 18:23:37 +01:00
samplekey.go Major code cleanup in storage. 2014-02-27 15:22:37 +01:00
stochastic_test.go Store samples in custom binary encoding. 2014-03-09 22:31:38 +01:00
tiered.go Add regression tests for 'loop until op is consumed' bug. 2014-03-12 18:40:24 +01:00
tiered_test.go Fix interval op special case. 2014-03-26 13:29:03 +01:00
view.go Remove the multi-op-per-fingerprint capability. 2014-03-04 16:29:56 +01:00
view_test.go Remove the multi-op-per-fingerprint capability. 2014-03-04 16:29:56 +01:00
watermark.go Unify LevelDB.*Options. 2014-02-27 16:03:58 +01:00