mirror of
https://github.com/seaweedfs/seaweedfs.git
synced 2024-01-19 02:48:24 +00:00
Add disk type to prometheus metrics (#4736)
* Add disk type to prometheus metrics * Del metrics * Disk type as readable string --------- Co-authored-by: Dima Mishin <dimm@dimm.dev>
This commit is contained in:
parent
88fca2b0da
commit
9956d93a40
|
@ -176,7 +176,7 @@ var (
|
|||
Subsystem: "volumeServer",
|
||||
Name: "volumes",
|
||||
Help: "Number of volumes or shards.",
|
||||
}, []string{"collection", "type"})
|
||||
}, []string{"collection", "type", "disk"})
|
||||
|
||||
VolumeServerReadOnlyVolumeGauge = prometheus.NewGaugeVec(
|
||||
prometheus.GaugeOpts{
|
||||
|
@ -299,7 +299,6 @@ func JoinHostPort(host string, port int) string {
|
|||
return net.JoinHostPort(host, portStr)
|
||||
}
|
||||
|
||||
|
||||
func StartMetricsServer(ip string, port int) {
|
||||
if port == 0 {
|
||||
return
|
||||
|
@ -316,11 +315,10 @@ func SourceName(port uint32) string {
|
|||
return net.JoinHostPort(hostname, strconv.Itoa(int(port)))
|
||||
}
|
||||
|
||||
// todo - can be changed to DeletePartialMatch when https://github.com/prometheus/client_golang/pull/1013 gets released
|
||||
func DeleteCollectionMetrics(collection string) {
|
||||
VolumeServerDiskSizeGauge.DeleteLabelValues(collection, "normal")
|
||||
for _, volume_type := range readOnlyVolumeTypes {
|
||||
VolumeServerReadOnlyVolumeGauge.DeleteLabelValues(collection, volume_type)
|
||||
VolumeServerReadOnlyVolumeGauge.DeletePartialMatch(prometheus.Labels{"collection": collection, "type": volume_type})
|
||||
}
|
||||
VolumeServerVolumeCounter.DeleteLabelValues(collection, "volume")
|
||||
VolumeServerVolumeCounter.DeletePartialMatch(prometheus.Labels{"collection": collection, "type": "volume"})
|
||||
}
|
||||
|
|
|
@ -7,6 +7,8 @@ import (
|
|||
"strconv"
|
||||
"strings"
|
||||
|
||||
"github.com/seaweedfs/seaweedfs/weed/storage/types"
|
||||
|
||||
"github.com/seaweedfs/seaweedfs/weed/stats"
|
||||
"github.com/seaweedfs/seaweedfs/weed/storage/needle"
|
||||
"github.com/seaweedfs/seaweedfs/weed/storage/types"
|
||||
|
@ -44,7 +46,7 @@ func NewEcVolumeShard(diskType types.DiskType, dirname string, collection string
|
|||
}
|
||||
v.ecdFileSize = ecdFi.Size()
|
||||
|
||||
stats.VolumeServerVolumeCounter.WithLabelValues(v.Collection, "ec_shards").Inc()
|
||||
stats.VolumeServerVolumeCounter.WithLabelValues(v.Collection, "ec_shards", string(v.DiskType)).Inc()
|
||||
|
||||
return
|
||||
}
|
||||
|
@ -88,7 +90,7 @@ func (shard *EcVolumeShard) Close() {
|
|||
|
||||
func (shard *EcVolumeShard) Destroy() {
|
||||
os.Remove(shard.FileName() + ToExt(int(shard.ShardId)))
|
||||
stats.VolumeServerVolumeCounter.WithLabelValues(shard.Collection, "ec_shards").Dec()
|
||||
stats.VolumeServerVolumeCounter.WithLabelValues(shard.Collection, "ec_shards", string(shard.DiskType)).Dec()
|
||||
}
|
||||
|
||||
func (shard *EcVolumeShard) ReadAt(buf []byte, offset int64) (int, error) {
|
||||
|
|
|
@ -246,7 +246,7 @@ func (v *Volume) doClose() {
|
|||
glog.Warningf("Volume Close fail to sync volume %d", v.Id)
|
||||
}
|
||||
v.DataBackend = nil
|
||||
stats.VolumeServerVolumeCounter.WithLabelValues(v.Collection, "volume").Dec()
|
||||
stats.VolumeServerVolumeCounter.WithLabelValues(v.Collection, "volume", v.DiskType().ReadableString()).Dec()
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -201,7 +201,7 @@ func (v *Volume) load(alsoLoadIndex bool, createDatIfMissing bool, needleMapKind
|
|||
}
|
||||
}
|
||||
|
||||
stats.VolumeServerVolumeCounter.WithLabelValues(v.Collection, "volume").Inc()
|
||||
stats.VolumeServerVolumeCounter.WithLabelValues(v.Collection, "volume", v.DiskType().ReadableString()).Inc()
|
||||
|
||||
if err == nil {
|
||||
hasLoadedVolume = true
|
||||
|
|
|
@ -124,7 +124,7 @@ func (v *Volume) CommitCompact() error {
|
|||
}
|
||||
}
|
||||
v.DataBackend = nil
|
||||
stats.VolumeServerVolumeCounter.WithLabelValues(v.Collection, "volume").Dec()
|
||||
stats.VolumeServerVolumeCounter.WithLabelValues(v.Collection, "volume", v.DiskType().ReadableString()).Dec()
|
||||
|
||||
var e error
|
||||
if e = v.makeupDiff(v.FileName(".cpd"), v.FileName(".cpx"), v.FileName(".dat"), v.FileName(".idx")); e != nil {
|
||||
|
|
Loading…
Reference in a new issue