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

Function TestLiveStoreReplaysTraceInHeadBlock

modules/livestore/live_store_test.go:323–350  ·  view source on GitHub ↗
(t *testing.T)

Source from the content-addressed store, hash-verified

321}
322
323func TestLiveStoreReplaysTraceInHeadBlock(t *testing.T) {
324 tmpDir := t.TempDir()
325
326 liveStore, err := defaultLiveStore(t, tmpDir)
327 require.NoError(t, err)
328 require.NotNil(t, liveStore)
329
330 // push data
331 expectedID, expectedTrace := pushToLiveStore(t, liveStore)
332
333 inst, err := liveStore.getOrCreateInstance(testTenantID)
334 require.NoError(t, err)
335
336 // cut to head block
337 drained, err := inst.cutIdleTraces(t.Context(), true)
338 require.NoError(t, err)
339 require.True(t, drained, "should drain live traces in one iteration")
340
341 // stop the live store and then create a new one to simulate a restart and replay the data on disk
342 err = services.StopAndAwaitTerminated(t.Context(), liveStore)
343 require.NoError(t, err)
344
345 liveStore, err = defaultLiveStore(t, tmpDir)
346 require.NoError(t, err)
347
348 requireTraceInLiveStore(t, liveStore, expectedID, expectedTrace)
349 requireInstanceState(t, liveStore.instances[testTenantID], instanceState{liveTraces: 0, walBlocks: 1, completeBlocks: 0})
350}
351
352func TestLiveStoreReplaysTraceInWalBlocks(t *testing.T) {
353 tmpDir := t.TempDir()

Callers

nothing calls this directly

Calls 7

defaultLiveStoreFunction · 0.85
pushToLiveStoreFunction · 0.85
requireTraceInLiveStoreFunction · 0.85
requireInstanceStateFunction · 0.85
cutIdleTracesMethod · 0.80
ContextMethod · 0.65
getOrCreateInstanceMethod · 0.45

Tested by

no test coverage detected