This is an automated email from the ASF dual-hosted git repository.

jinrongtong pushed a commit to branch develop
in repository https://gitbox.apache.org/repos/asf/rocketmq.git


The following commit(s) were added to refs/heads/develop by this push:
     new a430796e4b [ISSUE #8223] Add two metrics rocketmq_topic_number and 
rocketmq_consumer_group_number  (#8225)
a430796e4b is described below

commit a430796e4b975e9ef724ff61e84e47517e8aee62
Author: Stephanie0002 <55239858+stephanie0...@users.noreply.github.com>
AuthorDate: Fri May 31 17:18:30 2024 +0800

    [ISSUE #8223] Add two metrics rocketmq_topic_number and 
rocketmq_consumer_group_number  (#8225)
    
    * Add tow metric createTopicTime and createSubscriptionTime in broker
    
    * roll back BrokerConfig.java
    
    * Add metric view of createTopicTime and createSubscriptionTime in broker
    
    * Add two metric rocketmq_active_topic_number and 
rocketmq_active_subscription_number
    
    * Add two metric rocketmq_active_topic_number and 
rocketmq_active_subscription_number
    
    Signed-off-by: 黄梓淇 <me@U-0MV57FM9-2309.local>
    
    ---------
    
    Signed-off-by: 黄梓淇 <me@U-0MV57FM9-2309.local>
    Co-authored-by: 黄梓淇 <me@U-0MV57FM9-2309.local>
---
 .../rocketmq/broker/metrics/BrokerMetricsConstant.java    |  2 ++
 .../rocketmq/broker/metrics/BrokerMetricsManager.java     | 15 +++++++++++++++
 2 files changed, 17 insertions(+)

diff --git 
a/broker/src/main/java/org/apache/rocketmq/broker/metrics/BrokerMetricsConstant.java
 
b/broker/src/main/java/org/apache/rocketmq/broker/metrics/BrokerMetricsConstant.java
index 0af2ac616c..4b319f12f6 100644
--- 
a/broker/src/main/java/org/apache/rocketmq/broker/metrics/BrokerMetricsConstant.java
+++ 
b/broker/src/main/java/org/apache/rocketmq/broker/metrics/BrokerMetricsConstant.java
@@ -21,6 +21,8 @@ public class BrokerMetricsConstant {
 
     public static final String GAUGE_PROCESSOR_WATERMARK = 
"rocketmq_processor_watermark";
     public static final String GAUGE_BROKER_PERMISSION = 
"rocketmq_broker_permission";
+    public static final String GAUGE_TOPIC_NUM = "rocketmq_topic_number";
+    public static final String GAUGE_CONSUMER_GROUP_NUM = 
"rocketmq_consumer_group_number";
 
     public static final String COUNTER_MESSAGES_IN_TOTAL = 
"rocketmq_messages_in_total";
     public static final String COUNTER_MESSAGES_OUT_TOTAL = 
"rocketmq_messages_out_total";
diff --git 
a/broker/src/main/java/org/apache/rocketmq/broker/metrics/BrokerMetricsManager.java
 
b/broker/src/main/java/org/apache/rocketmq/broker/metrics/BrokerMetricsManager.java
index 0050a0dcd4..d8d94f8e69 100644
--- 
a/broker/src/main/java/org/apache/rocketmq/broker/metrics/BrokerMetricsManager.java
+++ 
b/broker/src/main/java/org/apache/rocketmq/broker/metrics/BrokerMetricsManager.java
@@ -81,6 +81,8 @@ import static 
org.apache.rocketmq.broker.metrics.BrokerMetricsConstant.COUNTER_M
 import static 
org.apache.rocketmq.broker.metrics.BrokerMetricsConstant.COUNTER_ROLLBACK_MESSAGES_TOTAL;
 import static 
org.apache.rocketmq.broker.metrics.BrokerMetricsConstant.COUNTER_THROUGHPUT_IN_TOTAL;
 import static 
org.apache.rocketmq.broker.metrics.BrokerMetricsConstant.COUNTER_THROUGHPUT_OUT_TOTAL;
+import static 
org.apache.rocketmq.broker.metrics.BrokerMetricsConstant.GAUGE_TOPIC_NUM;
+import static 
org.apache.rocketmq.broker.metrics.BrokerMetricsConstant.GAUGE_CONSUMER_GROUP_NUM;
 import static 
org.apache.rocketmq.broker.metrics.BrokerMetricsConstant.GAUGE_BROKER_PERMISSION;
 import static 
org.apache.rocketmq.broker.metrics.BrokerMetricsConstant.GAUGE_CONSUMER_CONNECTIONS;
 import static 
org.apache.rocketmq.broker.metrics.BrokerMetricsConstant.GAUGE_CONSUMER_INFLIGHT_MESSAGES;
@@ -131,6 +133,9 @@ public class BrokerMetricsManager {
     // broker stats metrics
     public static ObservableLongGauge processorWatermark = new 
NopObservableLongGauge();
     public static ObservableLongGauge brokerPermission = new 
NopObservableLongGauge();
+    public static ObservableLongGauge topicNum = new NopObservableLongGauge();
+    public static ObservableLongGauge consumerGroupNum = new 
NopObservableLongGauge();
+
 
     // request metrics
     public static LongCounter messagesInTotal = new NopLongCounter();
@@ -490,6 +495,16 @@ public class BrokerMetricsManager {
             .setDescription("Broker permission")
             .ofLongs()
             .buildWithCallback(measurement -> 
measurement.record(brokerConfig.getBrokerPermission(), 
newAttributesBuilder().build()));
+
+        topicNum = brokerMeter.gaugeBuilder(GAUGE_TOPIC_NUM)
+            .setDescription("Active topic number")
+            .ofLongs()
+            .buildWithCallback(measurement -> 
measurement.record(brokerController.getTopicConfigManager().getTopicConfigTable().size(),
 newAttributesBuilder().build()));
+
+        consumerGroupNum = brokerMeter.gaugeBuilder(GAUGE_CONSUMER_GROUP_NUM)
+            .setDescription("Active subscription group number")
+            .ofLongs()
+            .buildWithCallback(measurement -> 
measurement.record(brokerController.getSubscriptionGroupManager().getSubscriptionGroupTable().size(),
 newAttributesBuilder().build()));
     }
 
     private void initRequestMetrics() {

Reply via email to