// NewStoreStatusMonitor constructs a StoreStatusMonitor with the given ID. func NewStoreStatusMonitor(id roachpb.StoreID, metaRegistry *metric.Registry) *StoreStatusMonitor { registry := metric.NewRegistry() // Format as `cr.store.<metric>.<id>` in output, in analogy to the time // series data written. metaRegistry.MustAdd(storeTimeSeriesPrefix+"%s."+id.String(), registry) return &StoreStatusMonitor{ ID: id, registry: registry, rangeCount: registry.Counter("ranges"), leaderRangeCount: registry.Gauge("ranges.leader"), replicatedRangeCount: registry.Gauge("ranges.replicated"), availableRangeCount: registry.Gauge("ranges.available"), liveBytes: registry.Gauge("livebytes"), keyBytes: registry.Gauge("keybytes"), valBytes: registry.Gauge("valbytes"), intentBytes: registry.Gauge("intentbytes"), liveCount: registry.Gauge("livecount"), keyCount: registry.Gauge("keycount"), valCount: registry.Gauge("valcount"), intentCount: registry.Gauge("intentcount"), intentAge: registry.Gauge("intentage"), gcBytesAge: registry.Gauge("gcbytesage"), lastUpdateNanos: registry.Gauge("lastupdatenanos"), capacity: registry.Gauge("capacity"), available: registry.Gauge("capacity.available"), } }
// MakeStoreKey returns the gossip key for the given store. func MakeStoreKey(storeID roachpb.StoreID) string { return MakeKey(KeyStorePrefix, storeID.String()) }
// MakeDeadReplicasKey returns the dead replicas gossip key for the given store. func MakeDeadReplicasKey(storeID roachpb.StoreID) string { return MakeKey(KeyDeadReplicasPrefix, storeID.String()) }