From f81652ebbc6ccbb8931fc01fa074b5e046249aa0 Mon Sep 17 00:00:00 2001 From: Zhen Ye Date: Fri, 6 Jun 2025 19:08:31 +0800 Subject: [PATCH] fix: lost metrics of flowgraph and write buffer (#42549) issue: #42548 Signed-off-by: chyezh --- pkg/metrics/datanode_metrics.go | 10 ++++++++++ pkg/metrics/streaming_service_metrics.go | 4 ++++ 2 files changed, 14 insertions(+) diff --git a/pkg/metrics/datanode_metrics.go b/pkg/metrics/datanode_metrics.go index e00e04f878..e3e78b0538 100644 --- a/pkg/metrics/datanode_metrics.go +++ b/pkg/metrics/datanode_metrics.go @@ -18,6 +18,7 @@ package metrics import ( "fmt" + "sync" "github.com/prometheus/client_golang/prometheus" @@ -336,8 +337,17 @@ var ( }, []string{nodeIDLabelName, "type"}) ) +var registerDNOnce sync.Once + // RegisterDataNode registers DataNode metrics func RegisterDataNode(registry *prometheus.Registry) { + registerDNOnce.Do(func() { + registerDataNodeOnce(registry) + }) +} + +// registerDataNodeOnce registers DataNode metrics +func registerDataNodeOnce(registry *prometheus.Registry) { registry.MustRegister(DataNodeNumFlowGraphs) // input related registry.MustRegister(DataNodeConsumeMsgRowsCount) diff --git a/pkg/metrics/streaming_service_metrics.go b/pkg/metrics/streaming_service_metrics.go index 31736fbb22..3be0b377d6 100644 --- a/pkg/metrics/streaming_service_metrics.go +++ b/pkg/metrics/streaming_service_metrics.go @@ -496,6 +496,10 @@ func RegisterStreamingNode(registry *prometheus.Registry) { registry.MustRegister(StreamingNodeConsumeBytes) registerWAL(registry) + + // TODO: after remove the implementation of old data node + // Such as flowgraph and writebuffer, we can remove these metrics from streaming node. + RegisterDataNode(registry) } // registerWAL registers wal metrics