mirror of
https://github.com/prometheus/prometheus.git
synced 2024-12-25 05:34:05 -08:00
Use CopyTo when resetting histogram in stats iterator
The histogram stats iterator does not fully clear the histogram object and is not resilient to new fields being added to the histogram type. To resolve the issue, the commit uses the CopyTo methods which should be future proof to new fields being added. Signed-off-by: Filip Petkovski <filip.petkovsky@gmail.com>
This commit is contained in:
parent
7fab72a280
commit
3e6155e596
|
@ -62,9 +62,13 @@ func (f *histogramStatsIterator) AtHistogram(h *histogram.Histogram) (int64, *hi
|
||||||
return t, h
|
return t, h
|
||||||
}
|
}
|
||||||
|
|
||||||
h.CounterResetHint = f.getResetHint(f.currentH)
|
returnValue := histogram.Histogram{
|
||||||
h.Count = f.currentH.Count
|
CounterResetHint: f.getResetHint(f.currentH),
|
||||||
h.Sum = f.currentH.Sum
|
Count: f.currentH.Count,
|
||||||
|
Sum: f.currentH.Sum,
|
||||||
|
}
|
||||||
|
returnValue.CopyTo(h)
|
||||||
|
|
||||||
f.setLastH(f.currentH)
|
f.setLastH(f.currentH)
|
||||||
return t, h
|
return t, h
|
||||||
}
|
}
|
||||||
|
@ -89,9 +93,13 @@ func (f *histogramStatsIterator) AtFloatHistogram(fh *histogram.FloatHistogram)
|
||||||
return t, fh
|
return t, fh
|
||||||
}
|
}
|
||||||
|
|
||||||
fh.CounterResetHint = f.getFloatResetHint(f.currentFH.CounterResetHint)
|
returnValue := histogram.FloatHistogram{
|
||||||
fh.Count = f.currentFH.Count
|
CounterResetHint: f.getFloatResetHint(f.currentFH.CounterResetHint),
|
||||||
fh.Sum = f.currentFH.Sum
|
Count: f.currentFH.Count,
|
||||||
|
Sum: f.currentFH.Sum,
|
||||||
|
}
|
||||||
|
returnValue.CopyTo(fh)
|
||||||
|
|
||||||
f.setLastFH(f.currentFH)
|
f.setLastFH(f.currentFH)
|
||||||
return t, fh
|
return t, fh
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue