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

Method TenantIndex

tempodb/backend/raw.go:262–295  ·  view source on GitHub ↗

TenantIndex implements backend.Reader

(ctx context.Context, tenantID string)

Source from the content-addressed store, hash-verified

260
261// TenantIndex implements backend.Reader
262func (r *reader) TenantIndex(ctx context.Context, tenantID string) (*TenantIndex, error) {
263 ctx, span := tracer.Start(ctx, "reader.TenantIndex")
264 defer span.End()
265
266 outPb, err := r.tenantIndexProto(ctx, tenantID)
267 if err == nil {
268 return outPb, nil
269 }
270
271 if !errors.Is(err, ErrDoesNotExist) {
272 return nil, err
273 }
274
275 span.AddEvent(EventJSONFallback)
276
277 readerJ, size, err := r.r.Read(ctx, TenantIndexName, KeyPath([]string{tenantID}), nil)
278 if err != nil {
279 return nil, err
280 }
281 defer readerJ.Close()
282
283 bytesJ, err := tempo_io.ReadAllWithEstimate(readerJ, size)
284 if err != nil {
285 return nil, err
286 }
287
288 i := &TenantIndex{}
289 err = i.unmarshal(bytesJ)
290 if err != nil {
291 return nil, err
292 }
293
294 return i, nil
295}
296
297func (r *reader) tenantIndexProto(ctx context.Context, tenantID string) (*TenantIndex, error) {
298 readerPb, size, err := r.r.Read(ctx, TenantIndexNamePb, KeyPath([]string{tenantID}), nil)

Callers

nothing calls this directly

Calls 6

tenantIndexProtoMethod · 0.95
unmarshalMethod · 0.95
KeyPathTypeAlias · 0.85
StartMethod · 0.65
ReadMethod · 0.65
CloseMethod · 0.65

Tested by

no test coverage detected