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
parent
commit
b03b51aea4
No known key found for this signature in database GPG Key ID: 4AEE18F83AFDEB23
  1. 9
      weed/stats/metrics.go
  2. 8
      weed/storage/store.go

9
weed/stats/metrics.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)

8
weed/storage/store.go

@ -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),

Loading…
Cancel
Save