| 188 | } |
| 189 | |
| 190 | func TestMetrics_EmptyPushBytesRequest(t *testing.T) { |
| 191 | setup := setupTest(t) |
| 192 | defer setup.cleanup() |
| 193 | |
| 194 | // Record initial values |
| 195 | initialBytesReceived, err := getCounterVecValue(metricBytesReceivedTotal, testTenant, "trace") |
| 196 | require.NoError(t, err) |
| 197 | |
| 198 | // Push empty request |
| 199 | req := &tempopb.PushBytesRequest{ |
| 200 | Traces: []tempopb.PreallocBytes{}, |
| 201 | Ids: [][]byte{}, |
| 202 | } |
| 203 | setup.instance.pushBytes(t.Context(), time.Now(), req) |
| 204 | |
| 205 | // Verify no bytes were recorded |
| 206 | finalBytesReceived, err := getCounterVecValue(metricBytesReceivedTotal, testTenant, "trace") |
| 207 | require.NoError(t, err) |
| 208 | assert.Equal(t, initialBytesReceived, finalBytesReceived, |
| 209 | "empty request should not increment bytes received") |
| 210 | } |
| 211 | |
| 212 | func getCounterVecValue(metric *prometheus.CounterVec, labels ...string) (float64, error) { |
| 213 | m := &dto.Metric{} |