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

Function AutoForgetFromRing

pkg/ring/ring.go:1044–1053  ·  view source on GitHub ↗
(ringDesc *Desc, forgetPeriod time.Duration, logger log.Logger)

Source from the content-addressed store, hash-verified

1042var allStatesRingOperation = Operation(0x0000ffff)
1043
1044func AutoForgetFromRing(ringDesc *Desc, forgetPeriod time.Duration, logger log.Logger) {
1045 for id, instance := range ringDesc.Ingesters {
1046 lastHeartbeat := time.Unix(instance.GetTimestamp(), 0)
1047
1048 if time.Since(lastHeartbeat) > forgetPeriod {
1049 level.Warn(logger).Log("msg", "auto-forgetting instance from the ring because it is unhealthy for a long time", "instance", id, "last_heartbeat", lastHeartbeat.String(), "forget_period", forgetPeriod)
1050 ringDesc.RemoveIngester(id)
1051 }
1052 }
1053}

Callers 2

Calls 4

RemoveIngesterMethod · 0.80
StringMethod · 0.65
GetTimestampMethod · 0.45
LogMethod · 0.45

Tested by

no test coverage detected