MCPcopy Create free account
hub / github.com/cortexproject/cortex / NewScanner

Function NewScanner

pkg/util/users/scanner.go:29–45  ·  view source on GitHub ↗
(cfg UsersScannerConfig, bkt objstore.InstrumentedBucket, logger log.Logger, reg prometheus.Registerer)

Source from the content-addressed store, hash-verified

27}
28
29func NewScanner(cfg UsersScannerConfig, bkt objstore.InstrumentedBucket, logger log.Logger, reg prometheus.Registerer) (Scanner, error) {
30 var scanner Scanner
31 switch cfg.Strategy {
32 case UserScanStrategyList:
33 scanner = &listScanner{bkt: bkt}
34 case UserScanStrategyUserIndex:
35 scanner = newUserIndexScanner(&listScanner{bkt: bkt}, cfg, bkt, logger, reg)
36 default:
37 return nil, ErrInvalidUserScannerStrategy
38 }
39
40 if cfg.CacheTTL > 0 {
41 scanner = newCachedScanner(scanner, cfg, reg)
42 }
43
44 return scanner, nil
45}
46
47func NewShardedScanner(scanner Scanner, isOwned func(userID string) (bool, error), logger log.Logger) Scanner {
48 return &shardedScanner{

Calls 2

newUserIndexScannerFunction · 0.85
newCachedScannerFunction · 0.85