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

Function TestDrain_Train_PatternEmergence

pkg/drain/drain_test.go:196–213  ·  view source on GitHub ↗
(t *testing.T)

Source from the content-addressed store, hash-verified

194}
195
196func TestDrain_Train_PatternEmergence(t *testing.T) {
197 t.Parallel()
198
199 drain := New("test-tenant", DefaultConfig())
200
201 // First span - creates initial cluster
202 cluster1 := drain.Train("GET /api/users/123")
203 require.NotNil(t, cluster1)
204 pattern1 := cluster1.String()
205
206 // Second similar span - should match and update pattern
207 cluster2 := drain.Train("GET /api/users/456")
208 require.NotNil(t, cluster2)
209
210 pattern2 := cluster2.String()
211 require.Contains(t, pattern2, "<_>", "pattern should emerge with parameter marker")
212 require.NotEqual(t, pattern1, pattern2, "pattern should change after merging")
213}

Callers

nothing calls this directly

Calls 4

DefaultConfigFunction · 0.85
TrainMethod · 0.80
NewFunction · 0.70
StringMethod · 0.45

Tested by

no test coverage detected