Browse Source
Merge pull request #1537 from kmlebedev/metric_read_only_volumes
add number of read only volumes to prometheus metrics
pull/1540/head
Chris Lu
4 years ago
committed by
GitHub
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with
17 additions and
0 deletions
-
weed/stats/metrics.go
-
weed/storage/store.go
|
|
@ -77,6 +77,14 @@ var ( |
|
|
|
Help: "Number of volumes or shards.", |
|
|
|
}, []string{"collection", "type"}) |
|
|
|
|
|
|
|
VolumeServerReadOnlyVolumeGauge = prometheus.NewGaugeVec( |
|
|
|
prometheus.GaugeOpts{ |
|
|
|
Namespace: "SeaweedFS", |
|
|
|
Subsystem: "volumeServer", |
|
|
|
Name: "read_only_volumes", |
|
|
|
Help: "Number of read only volumes.", |
|
|
|
}, []string{"collection", "type"}) |
|
|
|
|
|
|
|
VolumeServerMaxVolumeCounter = prometheus.NewGauge( |
|
|
|
prometheus.GaugeOpts{ |
|
|
|
Namespace: "SeaweedFS", |
|
|
@ -122,6 +130,7 @@ func init() { |
|
|
|
Gather.MustRegister(VolumeServerRequestHistogram) |
|
|
|
Gather.MustRegister(VolumeServerVolumeCounter) |
|
|
|
Gather.MustRegister(VolumeServerMaxVolumeCounter) |
|
|
|
Gather.MustRegister(VolumeServerReadOnlyVolumeGauge) |
|
|
|
Gather.MustRegister(VolumeServerDiskSizeGauge) |
|
|
|
|
|
|
|
Gather.MustRegister(S3RequestCounter) |
|
|
|
|
|
@ -200,6 +200,7 @@ func (s *Store) CollectHeartbeat() *master_pb.Heartbeat { |
|
|
|
maxVolumeCount := 0 |
|
|
|
var maxFileKey NeedleId |
|
|
|
collectionVolumeSize := make(map[string]uint64) |
|
|
|
collectionVolumeReadOnlyCount := make(map[string]uint8) |
|
|
|
for _, location := range s.Locations { |
|
|
|
var deleteVids []needle.VolumeId |
|
|
|
maxVolumeCount = maxVolumeCount + location.MaxVolumeCount |
|
|
@ -219,6 +220,9 @@ func (s *Store) CollectHeartbeat() *master_pb.Heartbeat { |
|
|
|
} |
|
|
|
fileSize, _, _ := v.FileStat() |
|
|
|
collectionVolumeSize[v.Collection] += fileSize |
|
|
|
if v.IsReadOnly() { |
|
|
|
collectionVolumeReadOnlyCount[v.Collection] += 1 |
|
|
|
} |
|
|
|
} |
|
|
|
location.volumesLock.RUnlock() |
|
|
|
|
|
|
@ -243,6 +247,10 @@ func (s *Store) CollectHeartbeat() *master_pb.Heartbeat { |
|
|
|
stats.VolumeServerDiskSizeGauge.WithLabelValues(col, "normal").Set(float64(size)) |
|
|
|
} |
|
|
|
|
|
|
|
for col, count := range collectionVolumeReadOnlyCount { |
|
|
|
stats.VolumeServerReadOnlyVolumeGauge.WithLabelValues(col, "normal").Set(float64(count)) |
|
|
|
} |
|
|
|
|
|
|
|
return &master_pb.Heartbeat{ |
|
|
|
Ip: s.Ip, |
|
|
|
Port: uint32(s.Port), |
|
|
|