From b5022b0647d05a77bafc0ad23f64c97de4463f7b Mon Sep 17 00:00:00 2001 From: Jiquan Long Date: Wed, 7 Aug 2024 10:26:16 +0800 Subject: [PATCH] enhance: add metric to record disk quota (#35305) https://github.com/milvus-io/milvus/issues/35177 Signed-off-by: longjiquan --- internal/rootcoord/quota_center.go | 12 ++++++++++++ pkg/metrics/rootcoord_metrics.go | 9 +++++++++ 2 files changed, 21 insertions(+) diff --git a/internal/rootcoord/quota_center.go b/internal/rootcoord/quota_center.go index c7e6bc6753..65d1e9f268 100644 --- a/internal/rootcoord/quota_center.go +++ b/internal/rootcoord/quota_center.go @@ -283,6 +283,18 @@ func (q *QuotaCenter) watchQuotaAndLimit() { pt.Watch(pt.QuotaConfig.QueryNodeMemoryHighWaterLevel.Key, config.NewHandler(pt.QuotaConfig.QueryNodeMemoryHighWaterLevel.Key, func(event *config.Event) { metrics.QueryNodeMemoryHighWaterLevel.Set(pt.QuotaConfig.QueryNodeMemoryHighWaterLevel.GetAsFloat()) })) + pt.Watch(pt.QuotaConfig.DiskQuota.Key, config.NewHandler(pt.QuotaConfig.DiskQuota.Key, func(event *config.Event) { + metrics.DiskQuota.WithLabelValues(paramtable.GetStringNodeID(), "cluster").Set(pt.QuotaConfig.DiskQuota.GetAsFloat()) + })) + pt.Watch(pt.QuotaConfig.DiskQuotaPerDB.Key, config.NewHandler(pt.QuotaConfig.DiskQuotaPerDB.Key, func(event *config.Event) { + metrics.DiskQuota.WithLabelValues(paramtable.GetStringNodeID(), "db").Set(pt.QuotaConfig.DiskQuotaPerDB.GetAsFloat()) + })) + pt.Watch(pt.QuotaConfig.DiskQuotaPerCollection.Key, config.NewHandler(pt.QuotaConfig.DiskQuotaPerCollection.Key, func(event *config.Event) { + metrics.DiskQuota.WithLabelValues(paramtable.GetStringNodeID(), "collection").Set(pt.QuotaConfig.DiskQuotaPerCollection.GetAsFloat()) + })) + pt.Watch(pt.QuotaConfig.DiskQuotaPerPartition.Key, config.NewHandler(pt.QuotaConfig.DiskQuotaPerPartition.Key, func(event *config.Event) { + metrics.DiskQuota.WithLabelValues(paramtable.GetStringNodeID(), "collection").Set(pt.QuotaConfig.DiskQuotaPerPartition.GetAsFloat()) + })) } // run starts the service of QuotaCenter. diff --git a/pkg/metrics/rootcoord_metrics.go b/pkg/metrics/rootcoord_metrics.go index 217ccefeb0..582207c61b 100644 --- a/pkg/metrics/rootcoord_metrics.go +++ b/pkg/metrics/rootcoord_metrics.go @@ -226,6 +226,14 @@ var ( Name: "qn_mem_high_water_level", Help: "querynode memory high water level", }) + + DiskQuota = prometheus.NewGaugeVec( + prometheus.GaugeOpts{ + Namespace: milvusNamespace, + Subsystem: typeutil.RootCoordRole, + Name: "disk_quota", + Help: "disk quota", + }, []string{"node_id", "scope"}) ) // RegisterRootCoord registers RootCoord metrics @@ -266,6 +274,7 @@ func RegisterRootCoord(registry *prometheus.Registry) { registry.MustRegister(RootCoordIndexedNumEntities) registry.MustRegister(QueryNodeMemoryHighWaterLevel) + registry.MustRegister(DiskQuota) } func CleanupRootCoordDBMetrics(dbName string) {