diff --git a/internal/datanode/compactor.go b/internal/datanode/compactor.go index 9ea535079b..9060558027 100644 --- a/internal/datanode/compactor.go +++ b/internal/datanode/compactor.go @@ -613,7 +613,7 @@ func (t *compactionTask) compact() (*datapb.CompactionPlanResult, error) { ) log.Info("compact overall elapse", zap.Duration("elapse", time.Since(compactStart))) - metrics.DataNodeCompactionLatency.WithLabelValues(fmt.Sprint(paramtable.GetNodeID())).Observe(float64(t.tr.ElapseSpan().Milliseconds())) + metrics.DataNodeCompactionLatency.WithLabelValues(fmt.Sprint(paramtable.GetNodeID()), t.plan.GetType().String()).Observe(float64(t.tr.ElapseSpan().Milliseconds())) metrics.DataNodeCompactionLatencyInQueue.WithLabelValues(fmt.Sprint(paramtable.GetNodeID())).Observe(float64(durInQueue.Milliseconds())) planResult := &datapb.CompactionPlanResult{ diff --git a/internal/datanode/l0_compactor.go b/internal/datanode/l0_compactor.go index 2f1bcd6831..6b62ce3b7f 100644 --- a/internal/datanode/l0_compactor.go +++ b/internal/datanode/l0_compactor.go @@ -18,6 +18,7 @@ package datanode import ( "context" + "fmt" "time" "github.com/samber/lo" @@ -33,6 +34,7 @@ import ( "github.com/milvus-io/milvus/internal/storage" "github.com/milvus-io/milvus/pkg/common" "github.com/milvus-io/milvus/pkg/log" + "github.com/milvus-io/milvus/pkg/metrics" "github.com/milvus-io/milvus/pkg/util/funcutil" "github.com/milvus-io/milvus/pkg/util/merr" "github.com/milvus-io/milvus/pkg/util/metautil" @@ -227,6 +229,8 @@ func (t *levelZeroCompactionTask) compact() (*datapb.CompactionPlanResult, error Channel: t.plan.GetChannel(), } + metrics.DataNodeCompactionLatency.WithLabelValues(fmt.Sprint(paramtable.GetNodeID()), t.plan.GetType().String()). + Observe(float64(t.tr.ElapseSpan().Milliseconds())) log.Info("L0 compaction finished", zap.Duration("elapse", t.tr.ElapseSpan())) return result, nil diff --git a/pkg/metrics/datanode_metrics.go b/pkg/metrics/datanode_metrics.go index d654470f00..9040db698e 100644 --- a/pkg/metrics/datanode_metrics.go +++ b/pkg/metrics/datanode_metrics.go @@ -161,6 +161,7 @@ var ( Buckets: longTaskBuckets, }, []string{ nodeIDLabelName, + compactionTypeLabel, }) DataNodeCompactionLatencyInQueue = prometheus.NewHistogramVec( diff --git a/pkg/metrics/metrics.go b/pkg/metrics/metrics.go index 5773e4c220..d797550646 100644 --- a/pkg/metrics/metrics.go +++ b/pkg/metrics/metrics.go @@ -64,6 +64,7 @@ const ( ReduceSegments = "segments" ReduceShards = "shards" + compactionTypeLabel = "compaction_type" nodeIDLabelName = "node_id" statusLabelName = "status" indexTaskStatusLabelName = "index_task_status"