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);
+ }
+
}