MCPcopy
hub / github.com/prometheus/prometheus / TestSampleRingAtFloatHistogram

Function TestSampleRingAtFloatHistogram

storage/buffer_test.go:162–229  ·  view source on GitHub ↗
(t *testing.T)

Source from the content-addressed store, hash-verified

160}
161
162func TestSampleRingAtFloatHistogram(t *testing.T) {
163 fh1 := tsdbutil.GenerateTestFloatHistogram(1)
164 fh2 := tsdbutil.GenerateTestFloatHistogram(2)
165 h1 := tsdbutil.GenerateTestHistogram(3)
166 h2 := tsdbutil.GenerateTestHistogram(4)
167
168 // With ValNone as the preferred type, nothing should be initialized.
169 r := newSampleRing(10, 2, chunkenc.ValNone)
170 require.Empty(t, r.fBuf)
171 require.Empty(t, r.hBuf)
172 require.Empty(t, r.fhBuf)
173 require.Empty(t, r.iBuf)
174
175 var (
176 h *histogram.Histogram
177 fh *histogram.FloatHistogram
178 ts int64
179 )
180
181 it := r.iterator()
182 require.Equal(t, chunkenc.ValNone, it.Next())
183
184 r.addFH(fhSample{st: 10, t: 11, fh: fh1})
185 r.addFH(fhSample{st: 20, t: 21, fh: fh2})
186
187 it = r.iterator()
188
189 require.Equal(t, chunkenc.ValFloatHistogram, it.Next())
190 ts, fh = it.AtFloatHistogram(fh)
191 require.Equal(t, int64(11), ts)
192 require.Equal(t, fh1, fh)
193 require.Equal(t, int64(10), it.AtST())
194 require.Equal(t, chunkenc.ValFloatHistogram, it.Next())
195 ts, fh = it.AtFloatHistogram(fh)
196 require.Equal(t, int64(21), ts)
197 require.Equal(t, fh2, fh)
198 require.Equal(t, int64(20), it.AtST())
199 require.Equal(t, chunkenc.ValNone, it.Next())
200
201 r.reset()
202 it = r.iterator()
203 require.Equal(t, chunkenc.ValNone, it.Next())
204
205 r.addH(hSample{st: 30, t: 31, h: h1})
206 r.addH(hSample{st: 40, t: 41, h: h2})
207
208 it = r.iterator()
209
210 require.Equal(t, chunkenc.ValHistogram, it.Next())
211 ts, h = it.AtHistogram()
212 require.Equal(t, int64(31), ts)
213 require.Equal(t, h1, h)
214 require.Equal(t, int64(30), it.AtST())
215 ts, fh = it.AtFloatHistogram(fh)
216 require.Equal(t, int64(31), ts)
217 require.Equal(t, h1.ToFloat(nil), fh)
218 require.Equal(t, int64(30), it.AtST())
219 require.Equal(t, chunkenc.ValHistogram, it.Next())

Callers

nothing calls this directly

Calls 12

GenerateTestHistogramFunction · 0.92
newSampleRingFunction · 0.85
addFHMethod · 0.80
addHMethod · 0.80
ToFloatMethod · 0.80
NextMethod · 0.65
AtFloatHistogramMethod · 0.65
AtSTMethod · 0.65
AtHistogramMethod · 0.65
iteratorMethod · 0.45
resetMethod · 0.45

Tested by

no test coverage detected

Used in the wild real call sites across dependent graphs

searching dependent graphs…