This is an automated email from the ASF dual-hosted git repository. penghui pushed a commit to branch branch-2.8 in repository https://gitbox.apache.org/repos/asf/pulsar.git
commit 2fe6cba648175fdf8ca26a2c4d986089bd2922a3 Author: Ruguo Yu <[email protected]> AuthorDate: Tue Sep 28 15:44:51 2021 +0800 [testclient] Add total messages when printing throughput (#12084) ### Motivation Add total read/produce messages when periodic printing throughput in `PerformanceReader` / `ManagedLedgerWriter`&`PerformanceClient` ### Modifications - Get `totalMessages` then add it to the log information (cherry picked from commit 91697c5670f3a156ebdc55523de47baea11f5c52) --- .../org/apache/pulsar/proxy/socket/client/PerformanceClient.java | 8 ++++++-- .../java/org/apache/pulsar/testclient/ManagedLedgerWriter.java | 8 ++++++-- .../main/java/org/apache/pulsar/testclient/PerformanceReader.java | 6 +++++- 3 files changed, 17 insertions(+), 5 deletions(-) diff --git a/pulsar-testclient/src/main/java/org/apache/pulsar/proxy/socket/client/PerformanceClient.java b/pulsar-testclient/src/main/java/org/apache/pulsar/proxy/socket/client/PerformanceClient.java index 0e6f84b..c6aa5b8 100644 --- a/pulsar-testclient/src/main/java/org/apache/pulsar/proxy/socket/client/PerformanceClient.java +++ b/pulsar-testclient/src/main/java/org/apache/pulsar/proxy/socket/client/PerformanceClient.java @@ -301,14 +301,17 @@ public class PerformanceClient { long now = System.nanoTime(); double elapsed = (now - oldTime) / 1e9; + long total = totalMessagesSent.sum(); double rate = messagesSent.sumThenReset() / elapsed; double throughput = bytesSent.sumThenReset() / elapsed / 1024 / 1024 * 8; reportHistogram = SimpleTestProducerSocket.recorder.getIntervalHistogram(reportHistogram); log.info( - "Throughput produced: {} msg/s --- {} Mbit/s --- Latency: mean: {} ms - med: {} ms - 95pct: {} ms - 99pct: {} ms - 99.9pct: {} ms - 99.99pct: {} ms", - throughputFormat.format(rate), throughputFormat.format(throughput), + "Throughput produced: {} msg --- {} msg/s --- {} Mbit/s --- Latency: mean: {} ms - med: {} ms - 95pct: {} ms - 99pct: {} ms - 99.9pct: {} ms - 99.99pct: {} ms", + intFormat.format(total), + throughputFormat.format(rate), + throughputFormat.format(throughput), dec.format(reportHistogram.getMean() / 1000.0), dec.format(reportHistogram.getValueAtPercentile(50) / 1000.0), dec.format(reportHistogram.getValueAtPercentile(95) / 1000.0), @@ -384,6 +387,7 @@ public class PerformanceClient { static final DecimalFormat throughputFormat = new PaddingDecimalFormat("0.0", 8); static final DecimalFormat dec = new PaddingDecimalFormat("0.000", 7); static final DecimalFormat totalFormat = new DecimalFormat("0.000"); + static final DecimalFormat intFormat = new PaddingDecimalFormat("0", 7); private static final Logger log = LoggerFactory.getLogger(PerformanceClient.class); } diff --git a/pulsar-testclient/src/main/java/org/apache/pulsar/testclient/ManagedLedgerWriter.java b/pulsar-testclient/src/main/java/org/apache/pulsar/testclient/ManagedLedgerWriter.java index 244be81..47de256 100644 --- a/pulsar-testclient/src/main/java/org/apache/pulsar/testclient/ManagedLedgerWriter.java +++ b/pulsar-testclient/src/main/java/org/apache/pulsar/testclient/ManagedLedgerWriter.java @@ -320,14 +320,17 @@ public class ManagedLedgerWriter { long now = System.nanoTime(); double elapsed = (now - oldTime) / 1e9; + long total = totalMessagesSent.sum(); double rate = messagesSent.sumThenReset() / elapsed; double throughput = bytesSent.sumThenReset() / elapsed / 1024 / 1024 * 8; reportHistogram = recorder.getIntervalHistogram(reportHistogram); log.info( - "Throughput produced: {} msg/s --- {} Mbit/s --- Latency: mean: {} ms - med: {} - 95pct: {} - 99pct: {} - 99.9pct: {} - 99.99pct: {} - Max: {}", - throughputFormat.format(rate), throughputFormat.format(throughput), + "Throughput produced: {} msg --- {} msg/s --- {} Mbit/s --- Latency: mean: {} ms - med: {} - 95pct: {} - 99pct: {} - 99.9pct: {} - 99.99pct: {} - Max: {}", + intFormat.format(total), + throughputFormat.format(rate), + throughputFormat.format(throughput), dec.format(reportHistogram.getMean() / 1000.0), dec.format(reportHistogram.getValueAtPercentile(50) / 1000.0), dec.format(reportHistogram.getValueAtPercentile(95) / 1000.0), @@ -409,5 +412,6 @@ public class ManagedLedgerWriter { static final DecimalFormat throughputFormat = new PaddingDecimalFormat("0.0", 8); static final DecimalFormat dec = new PaddingDecimalFormat("0.000", 7); static final DecimalFormat totalFormat = new DecimalFormat("0.000"); + static final DecimalFormat intFormat = new PaddingDecimalFormat("0", 7); private static final Logger log = LoggerFactory.getLogger(ManagedLedgerWriter.class); } diff --git a/pulsar-testclient/src/main/java/org/apache/pulsar/testclient/PerformanceReader.java b/pulsar-testclient/src/main/java/org/apache/pulsar/testclient/PerformanceReader.java index c4becf0..778d51d 100644 --- a/pulsar-testclient/src/main/java/org/apache/pulsar/testclient/PerformanceReader.java +++ b/pulsar-testclient/src/main/java/org/apache/pulsar/testclient/PerformanceReader.java @@ -46,12 +46,14 @@ import org.apache.pulsar.client.api.ReaderListener; import org.apache.pulsar.client.impl.MessageIdImpl; import org.apache.pulsar.common.naming.TopicName; import org.apache.pulsar.common.util.FutureUtil; +import org.apache.pulsar.testclient.utils.PaddingDecimalFormat; import org.slf4j.Logger; import org.slf4j.LoggerFactory; public class PerformanceReader { private static final LongAdder messagesReceived = new LongAdder(); private static final LongAdder bytesReceived = new LongAdder(); + private static final DecimalFormat intFormat = new PaddingDecimalFormat("0", 7); private static final DecimalFormat dec = new DecimalFormat("0.000"); private static final LongAdder totalMessagesReceived = new LongAdder(); @@ -303,12 +305,14 @@ public class PerformanceReader { long now = System.nanoTime(); double elapsed = (now - oldTime) / 1e9; + long total = totalMessagesReceived.sum(); double rate = messagesReceived.sumThenReset() / elapsed; double throughput = bytesReceived.sumThenReset() / elapsed * 8 / 1024 / 1024; reportHistogram = recorder.getIntervalHistogram(reportHistogram); log.info( - "Read throughput: {} msg/s -- {} Mbit/s --- Latency: mean: {} ms - med: {} - 95pct: {} - 99pct: {} - 99.9pct: {} - 99.99pct: {} - Max: {}", + "Read throughput: {} msg --- {} msg/s -- {} Mbit/s --- Latency: mean: {} ms - med: {} - 95pct: {} - 99pct: {} - 99.9pct: {} - 99.99pct: {} - Max: {}", + intFormat.format(total), dec.format(rate), dec.format(throughput), dec.format(reportHistogram.getMean()), reportHistogram.getValueAtPercentile(50), reportHistogram.getValueAtPercentile(95), reportHistogram.getValueAtPercentile(99), reportHistogram.getValueAtPercentile(99.9),
