From f32ce1ecc06458a2fda31f92ad132a5b8f96a296 Mon Sep 17 00:00:00 2001 From: XuanYang-cn Date: Thu, 12 Sep 2024 18:07:08 +0800 Subject: [PATCH] enhance: [cp]Add metrics for Delete entries num of L0seg - Add metrics *DataCoordL0DeleteEntriesNum* - Remove metrics *DataCoordRateStoredL0Segment* See also: #36147 pr: #36175 --------- Signed-off-by: yangxuan --- internal/datacoord/meta.go | 14 +++++++++++--- internal/datacoord/services.go | 2 -- pkg/metrics/datacoord_metrics.go | 18 ++++++++++++------ 3 files changed, 23 insertions(+), 11 deletions(-) diff --git a/internal/datacoord/meta.go b/internal/datacoord/meta.go index 56c2c9cedc0e..5d58b42fda87 100644 --- a/internal/datacoord/meta.go +++ b/internal/datacoord/meta.go @@ -434,14 +434,22 @@ func (m *meta) GetQuotaInfo() *metricsinfo.DataCoordQuotaMetrics { metrics.DataCoordNumStoredRows.Reset() for collectionID, statesRows := range collectionRowsNum { - for state, rows := range statesRows { - coll, ok := m.collections[collectionID] - if ok { + coll, ok := m.collections[collectionID] + if ok { + for state, rows := range statesRows { metrics.DataCoordNumStoredRows.WithLabelValues(coll.DatabaseName, fmt.Sprint(collectionID), state.String()).Set(float64(rows)) } } } + metrics.DataCoordL0DeleteEntriesNum.Reset() + for collectionID, entriesNum := range collectionL0RowCounts { + coll, ok := m.collections[collectionID] + if ok { + metrics.DataCoordL0DeleteEntriesNum.WithLabelValues(coll.DatabaseName, fmt.Sprint(collectionID)).Set(float64(entriesNum)) + } + } + info.TotalBinlogSize = total info.CollectionBinlogSize = collectionBinlogSize info.PartitionsBinlogSize = partitionBinlogSize diff --git a/internal/datacoord/services.go b/internal/datacoord/services.go index 1ffcb9909070..2ab5f4df2974 100644 --- a/internal/datacoord/services.go +++ b/internal/datacoord/services.go @@ -538,8 +538,6 @@ func (s *Server) SaveBinlogPaths(ctx context.Context, req *datapb.SaveBinlogPath if req.GetSegLevel() == datapb.SegmentLevel_L0 { metrics.DataCoordSizeStoredL0Segment.WithLabelValues(fmt.Sprint(req.GetCollectionID())).Observe(calculateL0SegmentSize(req.GetField2StatslogPaths())) - metrics.DataCoordRateStoredL0Segment.WithLabelValues().Inc() - return merr.Success(), nil } diff --git a/pkg/metrics/datacoord_metrics.go b/pkg/metrics/datacoord_metrics.go index e9b999ace31c..7976cea69768 100644 --- a/pkg/metrics/datacoord_metrics.go +++ b/pkg/metrics/datacoord_metrics.go @@ -73,13 +73,16 @@ var ( collectionIDLabelName, }) - DataCoordRateStoredL0Segment = prometheus.NewCounterVec( - prometheus.CounterOpts{ + DataCoordL0DeleteEntriesNum = prometheus.NewGaugeVec( + prometheus.GaugeOpts{ Namespace: milvusNamespace, Subsystem: typeutil.DataCoordRole, - Name: "store_level0_segment_rate", - Help: "stored l0 segment rate", - }, []string{}) + Name: "l0_delete_entries_num", + Help: "Delete entries number of Level zero segment", + }, []string{ + databaseLabelName, + collectionIDLabelName, + }) // DataCoordNumStoredRows all metrics will be cleaned up after removing matched collectionID and // segment state labels in CleanupDataCoordNumStoredRows method. @@ -340,7 +343,7 @@ func RegisterDataCoord(registry *prometheus.Registry) { registry.MustRegister(DataCoordCompactionTaskNum) registry.MustRegister(DataCoordCompactionLatency) registry.MustRegister(DataCoordSizeStoredL0Segment) - registry.MustRegister(DataCoordRateStoredL0Segment) + registry.MustRegister(DataCoordL0DeleteEntriesNum) registry.MustRegister(FlushedSegmentFileNum) registry.MustRegister(IndexRequestCounter) registry.MustRegister(IndexTaskNum) @@ -392,4 +395,7 @@ func CleanupDataCoordWithCollectionID(collectionID int64) { DataCoordSizeStoredL0Segment.Delete(prometheus.Labels{ collectionIDLabelName: fmt.Sprint(collectionID), }) + DataCoordL0DeleteEntriesNum.DeletePartialMatch(prometheus.Labels{ + collectionIDLabelName: fmt.Sprint(collectionID), + }) }