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

Function NewCache

tempodb/backend/cache/cache.go:40–65  ·  view source on GitHub ↗
(cfgBloom *BloomConfig, nextReader backend.RawReader, nextWriter backend.RawWriter, cacheProvider cache.Provider, logger log.Logger)

Source from the content-addressed store, hash-verified

38}
39
40func NewCache(cfgBloom *BloomConfig, nextReader backend.RawReader, nextWriter backend.RawWriter, cacheProvider cache.Provider, logger log.Logger) (backend.RawReader, backend.RawWriter, error) {
41 rw := &readerWriter{
42 cfgBloom: cfgBloom,
43
44 footerCache: cacheProvider.CacheFor(cache.RoleParquetFooter),
45 bloomCache: cacheProvider.CacheFor(cache.RoleBloom),
46 offsetIdxCache: cacheProvider.CacheFor(cache.RoleParquetOffsetIdx),
47 columnIdxCache: cacheProvider.CacheFor(cache.RoleParquetColumnIdx),
48 traceIDIdxCache: cacheProvider.CacheFor(cache.RoleTraceIDIdx),
49 pageCache: cacheProvider.CacheFor(cache.RoleParquetPage),
50
51 nextReader: nextReader,
52 nextWriter: nextWriter,
53 }
54
55 level.Info(logger).Log("msg", "caches available to storage backend",
56 cache.RoleParquetFooter, rw.footerCache != nil,
57 cache.RoleBloom, rw.bloomCache != nil,
58 cache.RoleParquetOffsetIdx, rw.offsetIdxCache != nil,
59 cache.RoleParquetColumnIdx, rw.columnIdxCache != nil,
60 cache.RoleTraceIDIdx, rw.traceIDIdxCache != nil,
61 cache.RoleParquetPage, rw.pageCache != nil,
62 )
63
64 return rw, rw, nil
65}
66
67// List implements backend.RawReader
68func (r *readerWriter) List(ctx context.Context, keypath backend.KeyPath) ([]string, error) {

Callers 5

TestCacheForFunction · 0.85
TestReadWriteFunction · 0.85
TestListFunction · 0.85
TestCacheKeysFunction · 0.85

Calls 2

CacheForMethod · 0.65
LogMethod · 0.65

Tested by 5

TestCacheForFunction · 0.68
TestReadWriteFunction · 0.68
TestListFunction · 0.68
TestCacheKeysFunction · 0.68