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

Method loadRuleGroups

pkg/ruler/ruler.go:838–864  ·  view source on GitHub ↗
(ctx context.Context)

Source from the content-addressed store, hash-verified

836}
837
838func (r *Ruler) loadRuleGroups(ctx context.Context) (map[string]rulespb.RuleGroupList, map[string]rulespb.RuleGroupList, error) {
839 timer := prometheus.NewTimer(nil)
840
841 defer func() {
842 storeLoadSeconds := timer.ObserveDuration().Seconds()
843 r.ruleGroupStoreLoadDuration.Set(storeLoadSeconds)
844 }()
845
846 ownedConfigs, backupConfigs, err := r.listRules(ctx)
847 if err != nil {
848 level.Error(r.logger).Log("msg", "unable to list rules", "err", err)
849 return nil, nil, err
850 }
851
852 loadedOwnedConfigs, err := r.store.LoadRuleGroups(ctx, ownedConfigs)
853 if err != nil {
854 level.Warn(r.logger).Log("msg", "failed to load some rules owned by this ruler", "count", len(ownedConfigs)-len(loadedOwnedConfigs), "err", err)
855 }
856 if r.cfg.RulesBackupEnabled() {
857 loadedBackupConfigs, err := r.store.LoadRuleGroups(ctx, backupConfigs)
858 if err != nil {
859 level.Warn(r.logger).Log("msg", "failed to load some rules backed up by this ruler", "count", len(backupConfigs)-len(loadedBackupConfigs), "err", err)
860 }
861 return loadedOwnedConfigs, loadedBackupConfigs, nil
862 }
863 return loadedOwnedConfigs, nil, nil
864}
865
866func (r *Ruler) listRules(ctx context.Context) (owned map[string]rulespb.RuleGroupList, backedUp map[string]rulespb.RuleGroupList, err error) {
867 switch {

Callers 1

syncRulesMethod · 0.95

Calls 6

listRulesMethod · 0.95
RulesBackupEnabledMethod · 0.80
SetMethod · 0.65
LoadRuleGroupsMethod · 0.65
LogMethod · 0.45
ErrorMethod · 0.45

Tested by

no test coverage detected