mirror of
https://github.com/prometheus/prometheus.git
synced 2025-02-02 08:31:11 -08:00
Don't create a new iterator for every time step.
Signed-off-by: Charles Korn <charles.korn@grafana.com>
This commit is contained in:
parent
f5bbe2ef9e
commit
ab5d9e3be1
|
@ -1796,6 +1796,7 @@ func (ev *evaluator) evalTimestampFunctionOverVectorSelector(vs *parser.VectorSe
|
||||||
if err != nil {
|
if err != nil {
|
||||||
ev.error(errWithWarnings{fmt.Errorf("expanding series: %w", err), ws})
|
ev.error(errWithWarnings{fmt.Errorf("expanding series: %w", err), ws})
|
||||||
}
|
}
|
||||||
|
it := storage.NewMemoizedEmptyIterator(durationMilliseconds(ev.lookbackDelta))
|
||||||
|
|
||||||
return ev.rangeEval(nil, func(v []parser.Value, _ [][]EvalSeriesHelper, enh *EvalNodeHelper) (Vector, storage.Warnings) {
|
return ev.rangeEval(nil, func(v []parser.Value, _ [][]EvalSeriesHelper, enh *EvalNodeHelper) (Vector, storage.Warnings) {
|
||||||
if vs.Timestamp != nil {
|
if vs.Timestamp != nil {
|
||||||
|
@ -1804,7 +1805,6 @@ func (ev *evaluator) evalTimestampFunctionOverVectorSelector(vs *parser.VectorSe
|
||||||
vs.Offset = time.Duration(enh.Ts-*vs.Timestamp) * time.Millisecond
|
vs.Offset = time.Duration(enh.Ts-*vs.Timestamp) * time.Millisecond
|
||||||
}
|
}
|
||||||
vec := make(Vector, 0, len(vs.Series))
|
vec := make(Vector, 0, len(vs.Series))
|
||||||
it := storage.NewMemoizedEmptyIterator(durationMilliseconds(ev.lookbackDelta))
|
|
||||||
var chkIter chunkenc.Iterator
|
var chkIter chunkenc.Iterator
|
||||||
for _, s := range vs.Series {
|
for _, s := range vs.Series {
|
||||||
chkIter = s.Iterator(chkIter)
|
chkIter = s.Iterator(chkIter)
|
||||||
|
|
Loading…
Reference in a new issue