metrics: disk size for <collection, normal/EC>
This commit is contained in:
@@ -162,7 +162,7 @@ func (s *Store) CollectHeartbeat() *master_pb.Heartbeat {
|
||||
var volumeMessages []*master_pb.VolumeInformationMessage
|
||||
maxVolumeCount := 0
|
||||
var maxFileKey NeedleId
|
||||
var totalVolumeSize uint64
|
||||
collectionVolumeSize := make(map[string]uint64)
|
||||
for _, location := range s.Locations {
|
||||
maxVolumeCount = maxVolumeCount + location.MaxVolumeCount
|
||||
location.Lock()
|
||||
@@ -181,11 +181,14 @@ func (s *Store) CollectHeartbeat() *master_pb.Heartbeat {
|
||||
}
|
||||
}
|
||||
fileSize, _, _ := v.FileStat()
|
||||
totalVolumeSize += fileSize
|
||||
collectionVolumeSize[v.Collection] += fileSize
|
||||
}
|
||||
location.Unlock()
|
||||
}
|
||||
stats.VolumeServerVolumeSizeGauge.Set(float64(totalVolumeSize))
|
||||
|
||||
for col, size := range collectionVolumeSize {
|
||||
stats.VolumeServerDiskSizeGauge.WithLabelValues(col, "normal").Set(float64(size))
|
||||
}
|
||||
|
||||
return &master_pb.Heartbeat{
|
||||
Ip: s.Ip,
|
||||
|
||||
@@ -20,20 +20,22 @@ import (
|
||||
|
||||
func (s *Store) CollectErasureCodingHeartbeat() *master_pb.Heartbeat {
|
||||
var ecShardMessages []*master_pb.VolumeEcShardInformationMessage
|
||||
var totalEcShardSize int64
|
||||
collectionEcShardSize := make(map[string]int64)
|
||||
for _, location := range s.Locations {
|
||||
location.ecVolumesLock.RLock()
|
||||
for _, ecShards := range location.ecVolumes {
|
||||
ecShardMessages = append(ecShardMessages, ecShards.ToVolumeEcShardInformationMessage()...)
|
||||
|
||||
for _, ecShard := range ecShards.Shards {
|
||||
totalEcShardSize += ecShard.Size()
|
||||
collectionEcShardSize[ecShards.Collection] += ecShard.Size()
|
||||
}
|
||||
}
|
||||
location.ecVolumesLock.RUnlock()
|
||||
}
|
||||
|
||||
stats.VolumeServerEcShardSizeGauge.Set(float64(totalEcShardSize))
|
||||
for col, size := range collectionEcShardSize {
|
||||
stats.VolumeServerDiskSizeGauge.WithLabelValues(col, "ec").Set(float64(size))
|
||||
}
|
||||
|
||||
return &master_pb.Heartbeat{
|
||||
EcShards: ecShardMessages,
|
||||
|
||||
Reference in New Issue
Block a user