mirror of
https://github.com/prometheus/prometheus.git
synced 2025-02-21 03:16:00 -08:00
storage: Avoid duplicate function call in sampleRingIterator (#11502)
Signed-off-by: beorn7 <beorn@grafana.com>
This commit is contained in:
parent
fa6e05903f
commit
bd26ce440c
|
@ -233,6 +233,10 @@ func (r *sampleRing) iterator() chunkenc.Iterator {
|
||||||
type sampleRingIterator struct {
|
type sampleRingIterator struct {
|
||||||
r *sampleRing
|
r *sampleRing
|
||||||
i int
|
i int
|
||||||
|
t int64
|
||||||
|
v float64
|
||||||
|
h *histogram.Histogram
|
||||||
|
fh *histogram.FloatHistogram
|
||||||
}
|
}
|
||||||
|
|
||||||
func (it *sampleRingIterator) Next() chunkenc.ValueType {
|
func (it *sampleRingIterator) Next() chunkenc.ValueType {
|
||||||
|
@ -241,12 +245,16 @@ func (it *sampleRingIterator) Next() chunkenc.ValueType {
|
||||||
return chunkenc.ValNone
|
return chunkenc.ValNone
|
||||||
}
|
}
|
||||||
s := it.r.at(it.i)
|
s := it.r.at(it.i)
|
||||||
|
it.t = s.t
|
||||||
switch {
|
switch {
|
||||||
case s.h != nil:
|
case s.h != nil:
|
||||||
|
it.h = s.h
|
||||||
return chunkenc.ValHistogram
|
return chunkenc.ValHistogram
|
||||||
case s.fh != nil:
|
case s.fh != nil:
|
||||||
|
it.fh = s.fh
|
||||||
return chunkenc.ValFloatHistogram
|
return chunkenc.ValFloatHistogram
|
||||||
default:
|
default:
|
||||||
|
it.v = s.v
|
||||||
return chunkenc.ValFloat
|
return chunkenc.ValFloat
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -260,26 +268,22 @@ func (it *sampleRingIterator) Err() error {
|
||||||
}
|
}
|
||||||
|
|
||||||
func (it *sampleRingIterator) At() (int64, float64) {
|
func (it *sampleRingIterator) At() (int64, float64) {
|
||||||
s := it.r.at(it.i)
|
return it.t, it.v
|
||||||
return s.t, s.v
|
|
||||||
}
|
}
|
||||||
|
|
||||||
func (it *sampleRingIterator) AtHistogram() (int64, *histogram.Histogram) {
|
func (it *sampleRingIterator) AtHistogram() (int64, *histogram.Histogram) {
|
||||||
s := it.r.at(it.i)
|
return it.t, it.h
|
||||||
return s.t, s.h
|
|
||||||
}
|
}
|
||||||
|
|
||||||
func (it *sampleRingIterator) AtFloatHistogram() (int64, *histogram.FloatHistogram) {
|
func (it *sampleRingIterator) AtFloatHistogram() (int64, *histogram.FloatHistogram) {
|
||||||
s := it.r.at(it.i)
|
if it.fh == nil {
|
||||||
if s.fh == nil {
|
return it.t, it.h.ToFloat()
|
||||||
return s.t, s.h.ToFloat()
|
|
||||||
}
|
}
|
||||||
return s.t, s.fh
|
return it.t, it.fh
|
||||||
}
|
}
|
||||||
|
|
||||||
func (it *sampleRingIterator) AtT() int64 {
|
func (it *sampleRingIterator) AtT() int64 {
|
||||||
s := it.r.at(it.i)
|
return it.t
|
||||||
return s.t
|
|
||||||
}
|
}
|
||||||
|
|
||||||
func (r *sampleRing) at(i int) sample {
|
func (r *sampleRing) at(i int) sample {
|
||||||
|
|
Loading…
Reference in a new issue