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

Function NewRingServiceDiscovery

ring/client/ring_service_discovery.go:9–25  ·  view source on GitHub ↗
(r ring.ReadRing)

Source from the content-addressed store, hash-verified

7)
8
9func NewRingServiceDiscovery(r ring.ReadRing) PoolServiceDiscovery {
10 return func() ([]string, error) {
11 replicationSet, err := r.GetAllHealthy(ring.Reporting)
12 if errors.Is(err, ring.ErrEmptyRing) {
13 return nil, nil
14 }
15 if err != nil {
16 return nil, err
17 }
18
19 var addrs []string
20 for _, instance := range replicationSet.Instances {
21 addrs = append(addrs, instance.Addr)
22 }
23 return addrs, nil
24 }
25}
26
27// NewRingsServiceDiscovery returns a PoolServiceDiscovery listing the deduplicated addresses
28// of all healthy instances across the given rings.

Callers 2

NewRingsServiceDiscoveryFunction · 0.85

Calls 2

IsMethod · 0.80
GetAllHealthyMethod · 0.65

Tested by 1