MCPcopy Index your code
hub / github.com/cortexproject/cortex / Ruler

Struct Ruler

pkg/ruler/ruler.go:327–356  ·  view source on GitHub ↗

Ruler evaluates rules. +---------------------------------------------------------------+ | | | Query +-------------+ | | +------------------> | | |

Source from the content-addressed store, hash-verified

325// | |
326// +---------------------------------------------------------------+
327type Ruler struct {
328 services.Service
329
330 cfg Config
331 lifecycler *ring.BasicLifecycler
332 ring *ring.Ring
333 store rulestore.RuleStore
334 manager MultiTenantManager
335 limits RulesLimits
336
337 subservices *services.Manager
338 subservicesWatcher *services.FailureWatcher
339
340 // Pool of clients used to connect to other ruler replicas.
341 clientsPool ClientsPool
342
343 ringCheckErrors prometheus.Counter
344 rulerSync *prometheus.CounterVec
345 ruleGroupStoreLoadDuration prometheus.Gauge
346 ruleGroupSyncDuration prometheus.Gauge
347 rulerGetRulesFailures *prometheus.CounterVec
348 ruleGroupMetrics *RuleGroupMetrics
349
350 allowedTenants *users.AllowedTenants
351
352 registry prometheus.Registerer
353 logger log.Logger
354
355 userIndexUpdater *users.UserIndexUpdater
356}
357
358// NewRuler creates a new ruler from a distributor and chunk store.
359func NewRuler(cfg Config, manager MultiTenantManager, reg prometheus.Registerer, logger log.Logger, ruleStore rulestore.RuleStore, limits RulesLimits) (*Ruler, error) {

Callers

nothing calls this directly

Calls

no outgoing calls

Tested by

no test coverage detected