(t *testing.T)
| 87 | } |
| 88 | |
| 89 | func 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 | |
| 120 | func TestMaxTraceSizeExceededWithAccumulation(t *testing.T) { |
| 121 | var buf bytes.Buffer |
nothing calls this directly
no test coverage detected