aboutsummaryrefslogtreecommitdiff
path: root/weed/stats/metrics.go
diff options
context:
space:
mode:
authorChris Lu <chrislusf@users.noreply.github.com>2022-07-27 11:25:42 -0700
committerGitHub <noreply@github.com>2022-07-27 11:25:42 -0700
commitb7e4e2677876ddd786516ffa312a9b3641f5c55e (patch)
tree2e091546d835188a5df5d93b75242a2a5477d304 /weed/stats/metrics.go
parent1f592ae93315b8919f0a049f6b49e3e25ffc05e7 (diff)
parentac5ce312783e545c38ada661b238780af37c86da (diff)
downloadseaweedfs-b7e4e2677876ddd786516ffa312a9b3641f5c55e.tar.xz
seaweedfs-b7e4e2677876ddd786516ffa312a9b3641f5c55e.zip
Merge pull request #3371 from askeipx/issues/3341
delete disk_size metrics when collection deleted
Diffstat (limited to 'weed/stats/metrics.go')
-rw-r--r--weed/stats/metrics.go19
1 files changed, 19 insertions, 0 deletions
diff --git a/weed/stats/metrics.go b/weed/stats/metrics.go
index f0b810608..a2fd373af 100644
--- a/weed/stats/metrics.go
+++ b/weed/stats/metrics.go
@@ -17,6 +17,16 @@ import (
"github.com/prometheus/client_golang/prometheus/push"
)
+// Readonly volume types
+const (
+ IsReadOnly = "IsReadOnly"
+ NoWriteOrDelete = "noWriteOrDelete"
+ NoWriteCanDelete = "noWriteCanDelete"
+ IsDiskSpaceLow = "isDiskSpaceLow"
+)
+
+var readOnlyVolumeTypes = [4]string{IsReadOnly, NoWriteOrDelete, NoWriteCanDelete, IsDiskSpaceLow}
+
var (
Gather = prometheus.NewRegistry()
@@ -249,3 +259,12 @@ 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)
+ }
+ VolumeServerVolumeCounter.DeleteLabelValues(collection, "volume")
+}