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

Function getAllTraceIDs

cmd/tempo-cli/cmd-rewrite-blocks_test.go:91–168  ·  view source on GitHub ↗
(t *testing.T, dir string, tenant string)

Source from the content-addressed store, hash-verified

89}
90
91func getAllTraceIDs(t *testing.T, dir string, tenant string) []string {
92 t.Helper()
93
94 rawR, _, _, err := local.New(&local.Config{
95 Path: dir,
96 })
97 require.NoError(t, err)
98
99 reader := backend.NewReader(rawR)
100 ctx := context.Background()
101
102 tenants, err := reader.Tenants(ctx)
103 require.NoError(t, err)
104 require.Equal(t, []string{tenant}, tenants)
105
106 blocks, _, err := reader.Blocks(ctx, tenant)
107 require.NoError(t, err)
108
109 var traceIDs []string
110 for _, block := range blocks {
111 meta, err := reader.BlockMeta(ctx, block, tenant)
112 require.NoError(t, err)
113 rr := vparquet4.NewBackendReaderAt(ctx, reader, vparquet4.DataFileName, meta)
114 br := tempo_io.NewBufferedReaderAt(rr, int64(meta.Size_), 2*1024*1024, 64)
115 parquetSchema := parquet.SchemaOf(&vparquet4.Trace{})
116 o := []parquet.FileOption{
117 parquet.SkipBloomFilters(true),
118 parquet.SkipPageIndex(true),
119 parquet.FileSchema(parquetSchema),
120 parquet.FileReadMode(parquet.ReadModeAsync),
121 }
122 pf, err := parquet.OpenFile(br, int64(meta.Size_), o...)
123 require.NoError(t, err)
124 r := parquet.NewReader(pf, parquetSchema)
125 defer func() {
126 err := r.Close()
127 require.NoError(t, err)
128 }()
129 traceIDIndex, _, _ := parquetquery.GetColumnIndexByPath(pf, vparquet4.TraceIDColumnName)
130 require.GreaterOrEqual(t, traceIDIndex, 0)
131 defer func() {
132 err := r.Close()
133 require.NoError(t, err)
134 }()
135
136 for read := int64(0); read < r.NumRows(); {
137 rows := make([]parquet.Row, r.NumRows())
138 n, err := r.ReadRows(rows)
139 if !errors.Is(err, io.EOF) {
140 require.NoError(t, err)
141 }
142 require.Greater(t, n, 0)
143 rows = rows[:n]
144 read += int64(n)
145
146 getTraceID := func(row parquet.Row) common.ID {
147 for _, v := range row {
148 if v.Column() == traceIDIndex {

Callers 1

TestDropTraceCmdFunction · 0.85

Calls 10

TenantsMethod · 0.95
BlocksMethod · 0.95
BlockMetaMethod · 0.95
NewFunction · 0.92
NewReaderFunction · 0.92
NewBackendReaderAtFunction · 0.92
GetColumnIndexByPathFunction · 0.92
TraceIDToHexStringFunction · 0.92
CloseMethod · 0.65
EqualMethod · 0.45

Tested by

no test coverage detected