MCPcopy
hub / github.com/grafana/tempo / TestMetrics_PushBytesTracking

Function TestMetrics_PushBytesTracking

modules/livestore/metrics_test.go:107–149  ·  view source on GitHub ↗
(t *testing.T)

Source from the content-addressed store, hash-verified

105}
106
107func TestMetrics_PushBytesTracking(t *testing.T) {
108 setup := setupTest(t)
109 defer setup.cleanup()
110
111 // Create a trace and push it
112 traceID := test.ValidTraceID(nil)
113 trace := test.MakeTrace(10, traceID)
114 traceData, err := trace.Marshal()
115 require.NoError(t, err)
116
117 req := &tempopb.PushBytesRequest{
118 Traces: []tempopb.PreallocBytes{{Slice: traceData}},
119 Ids: [][]byte{traceID},
120 }
121
122 expectedBytes := float64(len(traceData))
123
124 // Record initial values to ensure we're measuring the delta correctly
125 initialBytesReceived, err := getCounterVecValue(metricBytesReceivedTotal, testTenant, "trace")
126 require.NoError(t, err)
127 initialTracesCreated, err := test.GetCounterValue(setup.instance.tracesCreatedTotal)
128 require.NoError(t, err)
129
130 // Push bytes
131 setup.instance.pushBytes(t.Context(), time.Now(), req)
132
133 // Verify bytes received metric increased by expected amount
134 finalBytesReceived, err := getCounterVecValue(metricBytesReceivedTotal, testTenant, "trace")
135 require.NoError(t, err)
136 assert.Equal(t, initialBytesReceived+expectedBytes, finalBytesReceived,
137 "bytes received should increase by trace data size")
138
139 // Check live traces metric after cutting
140 drained, err := setup.instance.cutIdleTraces(t.Context(), true) // immediate cut
141 require.NoError(t, err)
142 require.True(t, drained, "should drain live traces in one iteration")
143
144 // Verify traces were created
145 finalTracesCreated, err := test.GetCounterValue(setup.instance.tracesCreatedTotal)
146 require.NoError(t, err)
147 assert.Equal(t, initialTracesCreated+1.0, finalTracesCreated,
148 "one trace should be created after cutting")
149}
150
151func TestMetrics_CompletionFlow(t *testing.T) {
152 setup := setupTest(t)

Callers

nothing calls this directly

Calls 11

ValidTraceIDFunction · 0.92
MakeTraceFunction · 0.92
GetCounterValueFunction · 0.92
setupTestFunction · 0.85
getCounterVecValueFunction · 0.85
cutIdleTracesMethod · 0.80
MarshalMethod · 0.65
pushBytesMethod · 0.65
ContextMethod · 0.65
NowMethod · 0.65
EqualMethod · 0.45

Tested by

no test coverage detected