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

Function TestCutIdleDueToLiveTime

pkg/livetraces/livetraces_test.go:89–118  ·  view source on GitHub ↗
(t *testing.T)

Source from the content-addressed store, hash-verified

87}
88
89func TestCutIdleDueToLiveTime(t *testing.T) {
90 lt := New(func(rs *v1.ResourceSpans) uint64 { return uint64(rs.Size()) }, time.Hour, time.Second, testTenantID)
91
92 id := test.ValidTraceID(nil)
93 tr := test.MakeTrace(1, id)
94
95 rootTime := time.Unix(0, 0)
96
97 err := lt.PushWithTimestampAndLimits(rootTime, id, tr.ResourceSpans[0], 0, 0)
98 require.NoError(t, err)
99
100 // cut at 500 ms, should cut nothing
101 cutTraces := slices.Collect(lt.CutIdle(rootTime.Add(500*time.Millisecond), false))
102 require.Equal(t, 0, len(cutTraces))
103
104 // push at 1 second
105 err = lt.PushWithTimestampAndLimits(rootTime.Add(1000*time.Millisecond), id, tr.ResourceSpans[0], 0, 0)
106 require.NoError(t, err)
107
108 // cut at 1.5 seconds, should cut the trace b/c it's been live for 1.5 seconds!
109 cutTraces = slices.Collect(lt.CutIdle(rootTime.Add(1500*time.Millisecond), false))
110 require.Equal(t, 1, len(cutTraces))
111 require.Equal(t, id, cutTraces[0].ID)
112
113 // cut at 2.5 seconds, should cut nothing
114 cutTraces = slices.Collect(lt.CutIdle(rootTime.Add(2500*time.Millisecond), false))
115 require.Equal(t, 0, len(cutTraces))
116
117 require.Equal(t, 0, len(lt.Traces))
118}
119
120func TestMaxTraceSizeExceededWithAccumulation(t *testing.T) {
121 var buf bytes.Buffer

Callers

nothing calls this directly

Calls 9

ValidTraceIDFunction · 0.92
MakeTraceFunction · 0.92
CutIdleMethod · 0.80
NewFunction · 0.70
SizeMethod · 0.65
CollectMethod · 0.65
AddMethod · 0.65
EqualMethod · 0.45

Tested by

no test coverage detected