From fd19e419f9758ff156042b7440280cbb4615348f Mon Sep 17 00:00:00 2001 From: XuanYang-cn Date: Fri, 26 Jan 2024 10:53:02 +0800 Subject: [PATCH] fix: Use size bucket for compacted segment size metric (#30028) See also: #29204 Signed-off-by: yangxuan --- internal/datacoord/util.go | 6 ++++-- pkg/metrics/datacoord_metrics.go | 2 +- pkg/metrics/metrics.go | 3 +++ 3 files changed, 8 insertions(+), 3 deletions(-) diff --git a/internal/datacoord/util.go b/internal/datacoord/util.go index c8aef002c5..de2c612fd7 100644 --- a/internal/datacoord/util.go +++ b/internal/datacoord/util.go @@ -135,10 +135,12 @@ func getCollectionTTL(properties map[string]string) (time.Duration, error) { } func UpdateCompactionSegmentSizeMetrics(segments []*datapb.CompactionSegment) { + var totalSize int64 for _, seg := range segments { - size := getCompactedSegmentSize(seg) - metrics.DataCoordCompactedSegmentSize.WithLabelValues().Observe(float64(size)) + totalSize += getCompactedSegmentSize(seg) } + // observe size in bytes + metrics.DataCoordCompactedSegmentSize.WithLabelValues().Observe(float64(totalSize)) } func getCompactedSegmentSize(s *datapb.CompactionSegment) int64 { diff --git a/pkg/metrics/datacoord_metrics.go b/pkg/metrics/datacoord_metrics.go index f7d4ba2977..786f8d91f8 100644 --- a/pkg/metrics/datacoord_metrics.go +++ b/pkg/metrics/datacoord_metrics.go @@ -161,7 +161,7 @@ var ( Subsystem: typeutil.DataCoordRole, Name: "compacted_segment_size", Help: "the segment size of compacted segment", - Buckets: buckets, + Buckets: sizeBuckets, }, []string{}) DataCoordCompactionTaskNum = prometheus.NewGaugeVec( diff --git a/pkg/metrics/metrics.go b/pkg/metrics/metrics.go index 8a460f8985..a6e533585a 100644 --- a/pkg/metrics/metrics.go +++ b/pkg/metrics/metrics.go @@ -106,6 +106,9 @@ var ( // longTaskBuckets provides long task duration in milliseconds longTaskBuckets = []float64{1, 100, 500, 1000, 5000, 10000, 20000, 50000, 100000, 250000, 500000, 1000000, 3600000, 5000000, 10000000} // unit milliseconds + // size provides size in byte + sizeBuckets = []float64{10000, 100000, 1000000, 100000000, 500000000, 1024000000, 2048000000, 4096000000, 10000000000, 50000000000} // unit byte + NumNodes = prometheus.NewGaugeVec( prometheus.GaugeOpts{ Namespace: milvusNamespace,