Merge pull request #14469 from charleskorn/memoizedseriesiterator-att

storage: add `AtT` method to `MemoizedSeriesIterator`
This commit is contained in:
Bryan Boreham 2024-07-16 08:43:47 +01:00 committed by GitHub
commit e892483768
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
2 changed files with 11 additions and 4 deletions

View file

@ -136,6 +136,11 @@ func (b *MemoizedSeriesIterator) AtFloatHistogram() (int64, *histogram.FloatHist
return b.it.AtFloatHistogram(nil) return b.it.AtFloatHistogram(nil)
} }
// AtT returns the timestamp of the current element of the iterator.
func (b *MemoizedSeriesIterator) AtT() int64 {
return b.it.AtT()
}
// Err returns the last encountered error. // Err returns the last encountered error.
func (b *MemoizedSeriesIterator) Err() error { func (b *MemoizedSeriesIterator) Err() error {
return b.it.Err() return b.it.Err()

View file

@ -29,13 +29,15 @@ func TestMemoizedSeriesIterator(t *testing.T) {
sampleEq := func(ets int64, ev float64, efh *histogram.FloatHistogram) { sampleEq := func(ets int64, ev float64, efh *histogram.FloatHistogram) {
if efh == nil { if efh == nil {
ts, v := it.At() ts, v := it.At()
require.Equal(t, ets, ts, "timestamp mismatch") require.Equal(t, ets, ts, "At() timestamp mismatch")
require.Equal(t, ev, v, "value mismatch") require.Equal(t, ev, v, "At() value mismatch")
} else { } else {
ts, fh := it.AtFloatHistogram() ts, fh := it.AtFloatHistogram()
require.Equal(t, ets, ts, "timestamp mismatch") require.Equal(t, ets, ts, "AtFloatHistogram() timestamp mismatch")
require.Equal(t, efh, fh, "histogram mismatch") require.Equal(t, efh, fh, "AtFloatHistogram() histogram mismatch")
} }
require.Equal(t, ets, it.AtT(), "AtT() timestamp mismatch")
} }
prevSampleEq := func(ets int64, ev float64, efh *histogram.FloatHistogram, eok bool) { prevSampleEq := func(ets int64, ev float64, efh *histogram.FloatHistogram, eok bool) {
ts, v, fh, ok := it.PeekPrev() ts, v, fh, ok := it.PeekPrev()