test(chunkenc): appending histograms with empty buckets
Signed-off-by: György Krajcsovits <gyorgy.krajcsovits@grafana.com>
This commit is contained in:
parent
46acc974c0
commit
1ed7d20951
|
@ -1420,3 +1420,41 @@ func assertFirstFloatHistogramSampleHint(t *testing.T, chunk Chunk, expected his
|
||||||
_, v := it.AtFloatHistogram(nil)
|
_, v := it.AtFloatHistogram(nil)
|
||||||
require.Equal(t, expected, v.CounterResetHint)
|
require.Equal(t, expected, v.CounterResetHint)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func TestFloatHistogramEmptyBuckets(t *testing.T) {
|
||||||
|
h1 := &histogram.FloatHistogram{
|
||||||
|
PositiveSpans: []histogram.Span{
|
||||||
|
{Offset: -19, Length: 2},
|
||||||
|
{Offset: 1, Length: 2},
|
||||||
|
},
|
||||||
|
PositiveBuckets: []float64{0, 0, 0, 0},
|
||||||
|
}
|
||||||
|
c := NewFloatHistogramChunk()
|
||||||
|
app, err := c.Appender()
|
||||||
|
require.NoError(t, err)
|
||||||
|
_, _, _, err = app.AppendFloatHistogram(nil, 1, h1, false)
|
||||||
|
require.NoError(t, err)
|
||||||
|
|
||||||
|
h2 := &histogram.FloatHistogram{
|
||||||
|
PositiveSpans: []histogram.Span{
|
||||||
|
{Offset: -19, Length: 1},
|
||||||
|
{Offset: 4, Length: 1},
|
||||||
|
{Offset: 3, Length: 1},
|
||||||
|
},
|
||||||
|
PositiveBuckets: []float64{0, 0, 0},
|
||||||
|
}
|
||||||
|
newC, recoded, _, err := app.AppendFloatHistogram(nil, 2, h2, false)
|
||||||
|
require.NoError(t, err)
|
||||||
|
require.True(t, recoded)
|
||||||
|
require.NotNil(t, newC)
|
||||||
|
|
||||||
|
it := newC.Iterator(nil)
|
||||||
|
require.Equal(t, ValFloatHistogram, it.Next())
|
||||||
|
_, h := it.AtFloatHistogram(nil)
|
||||||
|
require.NoError(t, h.Validate())
|
||||||
|
require.Equal(t, ValFloatHistogram, it.Next())
|
||||||
|
_, h = it.AtFloatHistogram(nil)
|
||||||
|
require.NoError(t, h.Validate())
|
||||||
|
require.Equal(t, ValNone, it.Next())
|
||||||
|
require.NoError(t, it.Err())
|
||||||
|
}
|
||||||
|
|
Loading…
Reference in New Issue