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

xiangying pushed a commit to branch branch-2.10
in repository https://gitbox.apache.org/repos/asf/pulsar.git


The following commit(s) were added to refs/heads/branch-2.10 by this push:
     new 7ed452e6838 [fix][broker] Fixed reset for AggregatedNamespaceStats 
(#21225)
7ed452e6838 is described below

commit 7ed452e6838ca860f2f21ecbddfbeba297419af4
Author: Asaf Mesika <[email protected]>
AuthorDate: Sun Sep 24 06:43:40 2023 +0300

    [fix][broker] Fixed reset for AggregatedNamespaceStats (#21225)
    
    (cherry picked from commit c63243120f40909b602c011aa9e11f324af1412c)
---
 pulsar-broker/pom.xml                              |  1 +
 .../stats/prometheus/AggregatedNamespaceStats.java | 18 ++++-
 .../prometheus/AggregatedNamespaceStatsTest.java   | 86 +++++++++++++++++++++-
 3 files changed, 102 insertions(+), 3 deletions(-)

diff --git a/pulsar-broker/pom.xml b/pulsar-broker/pom.xml
index 80e76e2b1f7..5a9376dd251 100644
--- a/pulsar-broker/pom.xml
+++ b/pulsar-broker/pom.xml
@@ -527,6 +527,7 @@
         <artifactId>protobuf-maven-plugin</artifactId>
         <version>${protobuf-maven-plugin.version}</version>
         <configuration>
+          <!--suppress UnresolvedMavenProperty -->
           
<protocArtifact>com.google.protobuf:protoc:${protoc3.version}:exe:${os.detected.classifier}</protocArtifact>
           <checkStaleness>true</checkStaleness>
           <excludes>
diff --git 
a/pulsar-broker/src/main/java/org/apache/pulsar/broker/stats/prometheus/AggregatedNamespaceStats.java
 
b/pulsar-broker/src/main/java/org/apache/pulsar/broker/stats/prometheus/AggregatedNamespaceStats.java
index 1980af91b7b..25b06e67896 100644
--- 
a/pulsar-broker/src/main/java/org/apache/pulsar/broker/stats/prometheus/AggregatedNamespaceStats.java
+++ 
b/pulsar-broker/src/main/java/org/apache/pulsar/broker/stats/prometheus/AggregatedNamespaceStats.java
@@ -33,7 +33,7 @@ public class AggregatedNamespaceStats {
     public double throughputIn;
     public double throughputOut;
 
-    public long messageAckRate;
+    public double messageAckRate;
     public long bytesInCounter;
     public long msgInCounter;
     public long bytesOutCounter;
@@ -148,13 +148,29 @@ public class AggregatedNamespaceStats {
         rateOut = 0;
         throughputIn = 0;
         throughputOut = 0;
+        messageAckRate = 0;
+        bytesInCounter = 0;
+        msgInCounter = 0;
+
+        bytesOutCounter = 0;
+        msgOutCounter = 0;
 
         msgBacklog = 0;
         msgDelayed = 0;
+
         backlogQuotaLimit = 0;
         backlogQuotaLimitTime = -1;
 
         replicationStats.clear();
         subscriptionStats.clear();
+
+        compactionRemovedEventCount = 0;
+        compactionSucceedCount = 0;
+        compactionFailedCount = 0;
+        compactionDurationTimeInMills = 0;
+        compactionReadThroughput = 0;
+        compactionWriteThroughput = 0;
+        compactionCompactedEntriesCount = 0;
+        compactionCompactedEntriesSize = 0;
     }
 }
diff --git 
a/pulsar-broker/src/test/java/org/apache/pulsar/broker/stats/prometheus/AggregatedNamespaceStatsTest.java
 
b/pulsar-broker/src/test/java/org/apache/pulsar/broker/stats/prometheus/AggregatedNamespaceStatsTest.java
index 39ecc423588..10b936944c7 100644
--- 
a/pulsar-broker/src/test/java/org/apache/pulsar/broker/stats/prometheus/AggregatedNamespaceStatsTest.java
+++ 
b/pulsar-broker/src/test/java/org/apache/pulsar/broker/stats/prometheus/AggregatedNamespaceStatsTest.java
@@ -20,10 +20,11 @@ package org.apache.pulsar.broker.stats.prometheus;
 
 import static org.testng.Assert.assertEquals;
 import static org.testng.Assert.assertNotNull;
-
+import java.util.HashMap;
+import org.apache.bookkeeper.mledger.util.StatsBuckets;
 import org.testng.annotations.Test;
 
-@Test(groups = "broker")
+@Test(groups = {"broker"})
 public class AggregatedNamespaceStatsTest {
 
     @Test
@@ -157,4 +158,85 @@ public class AggregatedNamespaceStatsTest {
         assertEquals(nsSubStats.unackedMessages, 2);
     }
 
+
+    @Test
+    public void testReset() {
+        AggregatedNamespaceStats stats = new AggregatedNamespaceStats();
+        stats.topicsCount = 8;
+        stats.subscriptionsCount = 3;
+        stats.producersCount = 1;
+        stats.consumersCount = 8;
+        stats.rateIn = 1.3;
+        stats.rateOut = 3.5;
+        stats.throughputIn = 3.2;
+        stats.throughputOut = 5.8;
+        stats.messageAckRate = 12;
+        stats.bytesInCounter = 1234;
+        stats.msgInCounter = 3889;
+        stats.bytesOutCounter = 89775;
+        stats.msgOutCounter = 28983;
+        stats.msgBacklog = 39;
+        stats.msgDelayed = 31;
+
+        stats.backlogQuotaLimit = 387;
+        stats.backlogQuotaLimitTime = 8771;
+
+        stats.replicationStats = new HashMap<>();
+        stats.replicationStats.put("r", new AggregatedReplicationStats());
+
+        stats.subscriptionStats = new HashMap<>();
+        stats.subscriptionStats.put("r", new AggregatedSubscriptionStats());
+
+        stats.compactionRemovedEventCount = 124;
+        stats.compactionSucceedCount = 487;
+        stats.compactionFailedCount = 84857;
+        stats.compactionDurationTimeInMills = 2384;
+        stats.compactionReadThroughput = 355423;
+        stats.compactionWriteThroughput = 23299;
+        stats.compactionCompactedEntriesCount = 37522;
+        stats.compactionCompactedEntriesSize = 8475;
+
+        stats.compactionLatencyBuckets = new StatsBuckets(5);
+        stats.compactionLatencyBuckets.addValue(3);
+
+        stats.reset();
+
+        assertEquals(stats.bytesOutCounter, 0);
+        assertEquals(stats.topicsCount, 0);
+        assertEquals(stats.subscriptionsCount, 0);
+        assertEquals(stats.producersCount, 0);
+        assertEquals(stats.consumersCount, 0);
+        assertEquals(stats.rateIn, 0);
+        assertEquals(stats.rateOut, 0);
+        assertEquals(stats.throughputIn, 0);
+        assertEquals(stats.throughputOut, 0);
+        assertEquals(stats.messageAckRate, 0);
+        assertEquals(stats.bytesInCounter, 0);
+        assertEquals(stats.msgInCounter, 0);
+        assertEquals(stats.bytesOutCounter, 0);
+        assertEquals(stats.msgOutCounter, 0);
+
+        assertEquals(stats.managedLedgerStats.storageSize, 0);
+
+        assertEquals(stats.msgBacklog, 0);
+        assertEquals(stats.msgDelayed, 0);
+
+        assertEquals(stats.backlogQuotaLimit, 0);
+        assertEquals(stats.backlogQuotaLimitTime, -1);
+
+        assertEquals(stats.replicationStats.size(), 0);
+        assertEquals(stats.subscriptionStats.size(), 0);
+
+        assertEquals(stats.compactionRemovedEventCount, 0);
+        assertEquals(stats.compactionSucceedCount, 0);
+        assertEquals(stats.compactionFailedCount, 0);
+        assertEquals(stats.compactionDurationTimeInMills, 0);
+        assertEquals(stats.compactionReadThroughput, 0);
+        assertEquals(stats.compactionWriteThroughput, 0);
+        assertEquals(stats.compactionCompactedEntriesCount, 0);
+        assertEquals(stats.compactionCompactedEntriesSize, 0);
+
+        assertEquals(stats.compactionLatencyBuckets.getSum(), 0);
+    }
+
 }

Reply via email to