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

Method ReadRange

tempodb/backend/gcs/gcs.go:378–391  ·  view source on GitHub ↗

ReadRange implements backend.Reader

(ctx context.Context, name string, keypath backend.KeyPath, offset uint64, buffer []byte, _ *backend.CacheInfo)

Source from the content-addressed store, hash-verified

376
377// ReadRange implements backend.Reader
378func (rw *readerWriter) ReadRange(ctx context.Context, name string, keypath backend.KeyPath, offset uint64, buffer []byte, _ *backend.CacheInfo) error {
379 keypath = backend.KeyPathWithPrefix(keypath, rw.cfg.Prefix)
380 derivedCtx, span := tracer.Start(ctx, "gcs.ReadRange", trace.WithAttributes(
381 attribute.Int("len", len(buffer)),
382 attribute.Int64("offset", int64(offset)),
383 ))
384 defer span.End()
385
386 err := rw.readRange(derivedCtx, backend.ObjectFileName(keypath, name), int64(offset), buffer)
387 if err != nil {
388 span.SetStatus(codes.Error, "")
389 }
390 return readError(err)
391}
392
393// Shutdown implements backend.Reader
394func (rw *readerWriter) Shutdown() {

Callers

nothing calls this directly

Calls 6

readRangeMethod · 0.95
KeyPathWithPrefixFunction · 0.92
ObjectFileNameFunction · 0.92
IntMethod · 0.80
readErrorFunction · 0.70
StartMethod · 0.65

Tested by

no test coverage detected