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

Function runCompleteBlockSearchTest

tempodb/tempodb_search_test.go:1914–1976  ·  view source on GitHub ↗
(t *testing.T, blockVersion string, runners ...runnerFn)

Source from the content-addressed store, hash-verified

1912}
1913
1914func runCompleteBlockSearchTest(t *testing.T, blockVersion string, runners ...runnerFn) {
1915 tempDir := t.TempDir()
1916
1917 dc := backend.DedicatedColumns{
1918 {Scope: "resource", Name: "res-dedicated.01", Type: "string"},
1919 {Scope: "resource", Name: "res-dedicated.02", Type: "string"},
1920 {Scope: "span", Name: "span-dedicated.01", Type: "string"},
1921 {Scope: "span", Name: "span-dedicated.02", Type: "string"},
1922 {Scope: "event", Name: "event-dedicated.01", Type: "string"},
1923 }
1924 r, w, c, err := New(testingConfig(tempDir, blockVersion, dc), nil, log.NewNopLogger())
1925 require.NoError(t, err)
1926
1927 err = c.EnableCompaction(context.Background(), testingCompactorConfig, &mockSharder{}, &mockOverrides{})
1928 require.NoError(t, err)
1929
1930 ctx := context.Background()
1931 r.EnablePolling(ctx, &mockJobSharder{}, false)
1932 rw := r.(*readerWriter)
1933
1934 wantID, wantTr, start, end, wantMeta := makeExpectedTrace(nil)
1935 searchesThatMatch, searchesThatDontMatch := searchTestSuite()
1936
1937 // Write to wal
1938 wal := w.WAL()
1939
1940 meta := &backend.BlockMeta{BlockID: backend.NewUUID(), TenantID: testTenantID, DedicatedColumns: dc}
1941 head, err := wal.NewBlock(meta, model.CurrentEncoding)
1942 require.NoError(t, err)
1943 dec := model.MustNewSegmentDecoder(model.CurrentEncoding)
1944
1945 totalTraces := 50
1946 wantTrIdx := rand.Intn(totalTraces)
1947 for i := 0; i < totalTraces; i++ {
1948 var tr *tempopb.Trace
1949 var id []byte
1950 if i == wantTrIdx {
1951 tr = wantTr
1952 id = wantID
1953 } else {
1954 id = test.ValidTraceID(nil)
1955 tr = test.MakeTrace(10, id)
1956 }
1957 b1, err := dec.PrepareForWrite(tr, start, end)
1958 require.NoError(t, err)
1959
1960 b2, err := dec.ToObject([][]byte{b1})
1961 require.NoError(t, err)
1962 err = head.Append(id, b2, start, end, true)
1963 require.NoError(t, err)
1964 }
1965
1966 // Complete block
1967 block, err := w.CompleteBlock(context.Background(), head)
1968 require.NoError(t, err)
1969 blockMeta := block.BlockMeta()
1970
1971 for _, r := range runners {

Callers 1

TestSearchCompleteBlockFunction · 0.85

Calls 15

NewUUIDFunction · 0.92
MustNewSegmentDecoderFunction · 0.92
ValidTraceIDFunction · 0.92
MakeTraceFunction · 0.92
testingConfigFunction · 0.85
makeExpectedTraceFunction · 0.85
searchTestSuiteFunction · 0.85
rFunction · 0.85
NewBlockMethod · 0.80
NewFunction · 0.70
EnableCompactionMethod · 0.65
EnablePollingMethod · 0.65

Tested by

no test coverage detected