(t *testing.T)
| 108 | } |
| 109 | |
| 110 | func TestSampleRingMixed(t *testing.T) { |
| 111 | h1 := tsdbutil.GenerateTestHistogram(1) |
| 112 | h2 := tsdbutil.GenerateTestHistogram(2) |
| 113 | |
| 114 | // With ValNone as the preferred type, nothing should be initialized. |
| 115 | r := newSampleRing(10, 2, chunkenc.ValNone) |
| 116 | require.Empty(t, r.fBuf) |
| 117 | require.Empty(t, r.hBuf) |
| 118 | require.Empty(t, r.fhBuf) |
| 119 | require.Empty(t, r.iBuf) |
| 120 | |
| 121 | // But then mixed adds should work as expected. |
| 122 | r.addF(fSample{st: 10, t: 11, f: 3.14}) |
| 123 | r.addH(hSample{st: 20, t: 21, h: h1}) |
| 124 | |
| 125 | it := r.iterator() |
| 126 | |
| 127 | require.Equal(t, chunkenc.ValFloat, it.Next()) |
| 128 | ts, f := it.At() |
| 129 | require.Equal(t, int64(11), ts) |
| 130 | require.Equal(t, 3.14, f) |
| 131 | require.Equal(t, int64(10), it.AtST()) |
| 132 | require.Equal(t, chunkenc.ValHistogram, it.Next()) |
| 133 | var h *histogram.Histogram |
| 134 | ts, h = it.AtHistogram() |
| 135 | require.Equal(t, int64(21), ts) |
| 136 | require.Equal(t, h1, h) |
| 137 | require.Equal(t, int64(20), it.AtST()) |
| 138 | require.Equal(t, chunkenc.ValNone, it.Next()) |
| 139 | |
| 140 | r.reset() |
| 141 | it = r.iterator() |
| 142 | require.Equal(t, chunkenc.ValNone, it.Next()) |
| 143 | |
| 144 | r.addF(fSample{st: 30, t: 31, f: 4.2}) |
| 145 | r.addH(hSample{st: 40, t: 41, h: h2}) |
| 146 | |
| 147 | it = r.iterator() |
| 148 | |
| 149 | require.Equal(t, chunkenc.ValFloat, it.Next()) |
| 150 | ts, f = it.At() |
| 151 | require.Equal(t, int64(31), ts) |
| 152 | require.Equal(t, 4.2, f) |
| 153 | require.Equal(t, int64(30), it.AtST()) |
| 154 | require.Equal(t, chunkenc.ValHistogram, it.Next()) |
| 155 | ts, h = it.AtHistogram() |
| 156 | require.Equal(t, int64(41), ts) |
| 157 | require.Equal(t, h2, h) |
| 158 | require.Equal(t, int64(40), it.AtST()) |
| 159 | require.Equal(t, chunkenc.ValNone, it.Next()) |
| 160 | } |
| 161 | |
| 162 | func TestSampleRingAtFloatHistogram(t *testing.T) { |
| 163 | fh1 := tsdbutil.GenerateTestFloatHistogram(1) |
nothing calls this directly
no test coverage detected
searching dependent graphs…