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

Struct DefaultMultiTenantManager

pkg/ruler/manager.go:33–71  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

31)
32
33type DefaultMultiTenantManager struct {
34 cfg Config
35 notifierCfg *config.Config
36 managerFactory ManagerFactory
37 ruleEvalMetrics *RuleEvalMetrics
38 frontendPool *client.Pool
39
40 mapper *mapper
41
42 // Structs for holding per-user Prometheus rules Managers
43 // and a corresponding metrics struct
44 userManagerMtx sync.RWMutex
45 userManagers map[string]RulesManager
46 userManagerMetrics *ManagerMetrics
47
48 // Per-user notifiers with separate queues.
49 notifiersMtx sync.Mutex
50 notifiers map[string]*rulerNotifier
51 notifiersDiscoveryMetrics map[string]discovery.DiscovererMetrics
52
53 // Per-user externalLabels.
54 userExternalLabels *userExternalLabels
55
56 // rules backup
57 rulesBackupManager *rulesBackupManager
58
59 managersTotal prometheus.Gauge
60 lastReloadSuccessful *prometheus.GaugeVec
61 lastReloadSuccessfulTimestamp *prometheus.GaugeVec
62 configUpdatesTotal *prometheus.CounterVec
63 registry prometheus.Registerer
64 logger log.Logger
65
66 ruleCache map[string][]*promRules.Group
67 ruleCacheMtx sync.RWMutex
68 syncRuleMtx sync.Mutex
69
70 ruleGroupIterationFunc promRules.GroupEvalIterationFunc
71}
72
73func NewDefaultMultiTenantManager(cfg Config, limits RulesLimits, managerFactory ManagerFactory, evalMetrics *RuleEvalMetrics, reg prometheus.Registerer, logger log.Logger) (*DefaultMultiTenantManager, error) {
74 ncfg, err := buildNotifierConfig(&cfg)

Callers

nothing calls this directly

Calls

no outgoing calls

Tested by

no test coverage detected