MCPcopy
hub / github.com/grafana/dskit / SimpleRingLifecycler

Function SimpleRingLifecycler

ring/example/local/local.go:212–232  ·  view source on GitHub ↗

SimpleRingLifecycler returns an instance lifecycler for the given `kv.Client`. Usually lifecycler will be part of the server side that act as a single peer.

(store kv.Client, bindaddr string, bindport int)

Source from the content-addressed store, hash-verified

210// SimpleRingLifecycler returns an instance lifecycler for the given `kv.Client`.
211// Usually lifecycler will be part of the server side that act as a single peer.
212func SimpleRingLifecycler(store kv.Client, bindaddr string, bindport int) (*ring.BasicLifecycler, error) {
213 var config ring.BasicLifecyclerConfig
214 config.ID = bindaddr
215 config.Addr = net.JoinHostPort(bindaddr, strconv.Itoa(bindport))
216
217 var delegate ring.BasicLifecyclerDelegate
218
219 delegate = ring.NewInstanceRegisterDelegate(ring.ACTIVE, 128)
220 delegate = ring.NewLeaveOnStoppingDelegate(delegate, logger)
221 delegate = ring.NewAutoForgetDelegate(1*time.Minute, delegate, logger)
222
223 return ring.NewBasicLifecycler(
224 config,
225 "local",
226 "collectors/ring",
227 store,
228 delegate,
229 log.With(logger, "component", "lifecycler"),
230 prometheus.NewPedanticRegistry(),
231 )
232}

Callers 1

runClusterFunction · 0.85

Calls 5

NewAutoForgetDelegateFunction · 0.92
NewBasicLifecyclerFunction · 0.92
WithMethod · 0.80

Tested by

no test coverage detected