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

penghui pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/pulsar.git


The following commit(s) were added to refs/heads/master by this push:
     new d54c2cb5f04 [improve][client] Add partitioned-stats api to avoid 
partition abstraction (#18308)
d54c2cb5f04 is described below

commit d54c2cb5f04bfb15e8b8896f49faa81130b70c29
Author: Rajan Dhabalia <[email protected]>
AuthorDate: Wed Nov 2 19:30:45 2022 -0700

    [improve][client] Add partitioned-stats api to avoid partition abstraction 
(#18308)
---
 .../apache/pulsar/client/api/SimpleProducerConsumerStatTest.java | 4 ++--
 .../main/java/org/apache/pulsar/client/api/ConsumerStats.java    | 8 ++++++++
 .../main/java/org/apache/pulsar/client/api/ProducerStats.java    | 9 +++++++++
 3 files changed, 19 insertions(+), 2 deletions(-)

diff --git 
a/pulsar-broker/src/test/java/org/apache/pulsar/client/api/SimpleProducerConsumerStatTest.java
 
b/pulsar-broker/src/test/java/org/apache/pulsar/client/api/SimpleProducerConsumerStatTest.java
index bae891ad46a..c8ab95cde9d 100644
--- 
a/pulsar-broker/src/test/java/org/apache/pulsar/client/api/SimpleProducerConsumerStatTest.java
+++ 
b/pulsar-broker/src/test/java/org/apache/pulsar/client/api/SimpleProducerConsumerStatTest.java
@@ -491,8 +491,8 @@ public class SimpleProducerConsumerStatTest extends 
ProducerConsumerBase {
         // Acknowledge the consumption of all messages at once
         consumer.acknowledgeCumulative(msg);
 
-        MultiTopicConsumerStats cStat = (MultiTopicConsumerStats) 
consumer.getStats();
-        PartitionedTopicProducerStats pStat = (PartitionedTopicProducerStats) 
producer.getStats();
+        ConsumerStats cStat = consumer.getStats();
+        ProducerStats pStat = producer.getStats();
         retryStrategically((test) -> !pStat.getPartitionStats().isEmpty(), 5, 
100);
         retryStrategically((test) -> !cStat.getPartitionStats().isEmpty(), 5, 
100);
         Map<String, ProducerStats> prodStatsMap = pStat.getPartitionStats();
diff --git 
a/pulsar-client-api/src/main/java/org/apache/pulsar/client/api/ConsumerStats.java
 
b/pulsar-client-api/src/main/java/org/apache/pulsar/client/api/ConsumerStats.java
index 5ee5dd7999b..529101ecde3 100644
--- 
a/pulsar-client-api/src/main/java/org/apache/pulsar/client/api/ConsumerStats.java
+++ 
b/pulsar-client-api/src/main/java/org/apache/pulsar/client/api/ConsumerStats.java
@@ -19,6 +19,7 @@
 package org.apache.pulsar.client.api;
 
 import java.io.Serializable;
+import java.util.Collections;
 import java.util.Map;
 import org.apache.pulsar.common.classification.InterfaceAudience;
 import org.apache.pulsar.common.classification.InterfaceStability;
@@ -114,4 +115,11 @@ public interface ConsumerStats extends Serializable {
      * @return
      */
     Map<Long, Integer> getMsgNumInSubReceiverQueue();
+
+    /**
+     * @return stats for each partition if topic is partitioned topic
+     */
+    default Map<String, ConsumerStats> getPartitionStats() {
+        return Collections.emptyMap();
+    }
 }
diff --git 
a/pulsar-client-api/src/main/java/org/apache/pulsar/client/api/ProducerStats.java
 
b/pulsar-client-api/src/main/java/org/apache/pulsar/client/api/ProducerStats.java
index fd5b87c6639..a26c20e740d 100644
--- 
a/pulsar-client-api/src/main/java/org/apache/pulsar/client/api/ProducerStats.java
+++ 
b/pulsar-client-api/src/main/java/org/apache/pulsar/client/api/ProducerStats.java
@@ -19,6 +19,8 @@
 package org.apache.pulsar.client.api;
 
 import java.io.Serializable;
+import java.util.Collections;
+import java.util.Map;
 import org.apache.pulsar.common.classification.InterfaceAudience;
 import org.apache.pulsar.common.classification.InterfaceStability;
 
@@ -115,4 +117,11 @@ public interface ProducerStats extends Serializable {
      * @return current pending send-message queue size of the producer
      */
     int getPendingQueueSize();
+
+    /**
+     * @return stats for each partition if topic is partitioned topic
+     */
+    default Map<String, ProducerStats> getPartitionStats() {
+        return Collections.emptyMap();
+    }
 }

Reply via email to