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

Method getTokensByZone

ring/model.go:512–526  ·  view source on GitHub ↗

getTokensByZone returns instances tokens grouped by zone. Tokens within each zone are guaranteed to be sorted.

()

Source from the content-addressed store, hash-verified

510// getTokensByZone returns instances tokens grouped by zone. Tokens within each zone
511// are guaranteed to be sorted.
512func (d *Desc) getTokensByZone() map[string][]uint32 {
513 zones := map[string][][]uint32{}
514 for _, instance := range d.Ingesters {
515 // Tokens may not be sorted for an older version, so we enforce sorting here.
516 tokens := instance.Tokens
517 if !sort.IsSorted(Tokens(tokens)) {
518 sort.Sort(Tokens(tokens))
519 }
520
521 zones[instance.Zone] = append(zones[instance.Zone], tokens)
522 }
523
524 // Merge tokens per zone.
525 return MergeTokensByZone(zones)
526}
527
528// getOldestRegisteredTimestamp returns unix timestamp of oldest "RegisteredTimestamp" value from all instances.
529// If any instance has 0 value of RegisteredTimestamp, this function returns 0.

Calls 2

TokensTypeAlias · 0.85
MergeTokensByZoneFunction · 0.85