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