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

Method updateLoop

pkg/ingester/ingester.go:1034–1099  ·  view source on GitHub ↗
(ctx context.Context)

Source from the content-addressed store, hash-verified

1032}
1033
1034func (i *Ingester) updateLoop(ctx context.Context) error {
1035 rateUpdateTicker := time.NewTicker(i.cfg.RateUpdatePeriod)
1036 defer rateUpdateTicker.Stop()
1037
1038 userTSDBConfigTicker := time.NewTicker(i.cfg.UserTSDBConfigsUpdatePeriod)
1039 defer userTSDBConfigTicker.Stop()
1040
1041 ingestionRateTicker := time.NewTicker(instanceIngestionRateTickInterval)
1042 defer ingestionRateTicker.Stop()
1043
1044 var activeSeriesTickerChan <-chan time.Time
1045 if i.cfg.ActiveSeriesMetricsEnabled {
1046 t := time.NewTicker(i.cfg.ActiveSeriesMetricsUpdatePeriod)
1047 activeSeriesTickerChan = t.C
1048 defer t.Stop()
1049 }
1050
1051 var activeQueriedSeriesTickerChan <-chan time.Time
1052 if i.cfg.ActiveQueriedSeriesMetricsEnabled {
1053 t := time.NewTicker(i.cfg.ActiveQueriedSeriesMetricsUpdatePeriod)
1054 activeQueriedSeriesTickerChan = t.C
1055 defer t.Stop()
1056 }
1057
1058 // Similarly to the above, this is a hardcoded value.
1059 metadataPurgeTicker := time.NewTicker(metadataPurgePeriod)
1060 defer metadataPurgeTicker.Stop()
1061
1062 maxTrackerResetTicker := time.NewTicker(maxInflightRequestResetPeriod)
1063 defer maxTrackerResetTicker.Stop()
1064
1065 labelSetMetricsTicker := time.NewTicker(labelSetMetricsTickInterval)
1066 defer labelSetMetricsTicker.Stop()
1067
1068 for {
1069 select {
1070 case <-metadataPurgeTicker.C:
1071 i.purgeUserMetricsMetadata()
1072 case <-ingestionRateTicker.C:
1073 i.ingestionRate.Tick()
1074 case <-rateUpdateTicker.C:
1075 i.stoppedMtx.RLock()
1076 for _, db := range i.TSDBState.dbs {
1077 db.ingestedAPISamples.Tick()
1078 db.ingestedRuleSamples.Tick()
1079 }
1080 i.stoppedMtx.RUnlock()
1081
1082 case <-activeSeriesTickerChan:
1083 i.updateActiveSeries(ctx)
1084 case <-activeQueriedSeriesTickerChan:
1085 i.updateActiveQueriedSeries(ctx)
1086 case <-maxTrackerResetTicker.C:
1087 i.maxInflightQueryRequests.Tick()
1088 i.maxInflightPushRequests.Tick()
1089 case <-userTSDBConfigTicker.C:
1090 i.updateUserTSDBConfigs()
1091 case <-labelSetMetricsTicker.C:

Callers

nothing calls this directly

Implementers 1

Ingesterpkg/ingester/ingester.go

Calls 10

updateActiveSeriesMethod · 0.95
updateUserTSDBConfigsMethod · 0.95
updateLabelSetMetricsMethod · 0.95
DoneMethod · 0.80
ChanMethod · 0.80
StopMethod · 0.65
WrapMethod · 0.65
TickMethod · 0.45

Tested by

no test coverage detected