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

mmerli pushed a commit to branch asf-site
in repository https://gitbox.apache.org/repos/asf/incubator-pulsar.git


The following commit(s) were added to refs/heads/asf-site by this push:
     new c8dad2d  Updated site at revision e9e31c7
c8dad2d is described below

commit c8dad2d8d9b09a84e9db4bfab2a2cbca42a964b8
Author: jenkins <bui...@apache.org>
AuthorDate: Tue Mar 6 08:18:00 2018 +0000

    Updated site at revision e9e31c7
---
 content/api/client/allclasses-frame.html           |   2 +
 content/api/client/allclasses-noframe.html         |   2 +
 content/api/client/index-all.html                  |  88 +++-
 .../org/apache/pulsar/client/api/Consumer.html     |  40 +-
 .../pulsar/client/api/ConsumerEventListener.html   |   4 +-
 .../apache/pulsar/client/api/ConsumerStats.html    | 418 ++++++++++++++++++
 .../apache/pulsar/client/api/CryptoKeyReader.html  |   4 +-
 .../org/apache/pulsar/client/api/Producer.html     |  36 +-
 .../client/api/ProducerCryptoFailureAction.html    |   4 +-
 .../apache/pulsar/client/api/ProducerStats.html    | 486 +++++++++++++++++++++
 .../org/apache/pulsar/client/api/PulsarClient.html |   4 +-
 .../apache/pulsar/client/api/package-frame.html    |   2 +
 .../apache/pulsar/client/api/package-summary.html  |  28 +-
 .../org/apache/pulsar/client/api/package-tree.html |   2 +
 content/api/client/overview-tree.html              |   2 +
 15 files changed, 1061 insertions(+), 61 deletions(-)

diff --git a/content/api/client/allclasses-frame.html 
b/content/api/client/allclasses-frame.html
index d06db6b..3a9cd14 100644
--- a/content/api/client/allclasses-frame.html
+++ b/content/api/client/allclasses-frame.html
@@ -23,6 +23,7 @@
 <li><a href="org/apache/pulsar/client/api/ConsumerConfiguration.html" 
title="class in org.apache.pulsar.client.api" 
target="classFrame">ConsumerConfiguration</a></li>
 <li><a href="org/apache/pulsar/client/api/ConsumerCryptoFailureAction.html" 
title="enum in org.apache.pulsar.client.api" 
target="classFrame">ConsumerCryptoFailureAction</a></li>
 <li><a href="org/apache/pulsar/client/api/ConsumerEventListener.html" 
title="interface in org.apache.pulsar.client.api" target="classFrame"><span 
class="interfaceName">ConsumerEventListener</span></a></li>
+<li><a href="org/apache/pulsar/client/api/ConsumerStats.html" title="interface 
in org.apache.pulsar.client.api" target="classFrame"><span 
class="interfaceName">ConsumerStats</span></a></li>
 <li><a href="org/apache/pulsar/client/api/CryptoKeyReader.html" 
title="interface in org.apache.pulsar.client.api" target="classFrame"><span 
class="interfaceName">CryptoKeyReader</span></a></li>
 <li><a href="org/apache/pulsar/client/api/url/DataURLStreamHandler.html" 
title="class in org.apache.pulsar.client.api.url" 
target="classFrame">DataURLStreamHandler</a></li>
 <li><a 
href="org/apache/pulsar/client/api/EncodedAuthenticationParameterSupport.html" 
title="interface in org.apache.pulsar.client.api" target="classFrame"><span 
class="interfaceName">EncodedAuthenticationParameterSupport</span></a></li>
@@ -40,6 +41,7 @@
 <li><a 
href="org/apache/pulsar/client/api/ProducerConfiguration.HashingScheme.html" 
title="enum in org.apache.pulsar.client.api" 
target="classFrame">ProducerConfiguration.HashingScheme</a></li>
 <li><a 
href="org/apache/pulsar/client/api/ProducerConfiguration.MessageRoutingMode.html"
 title="enum in org.apache.pulsar.client.api" 
target="classFrame">ProducerConfiguration.MessageRoutingMode</a></li>
 <li><a href="org/apache/pulsar/client/api/ProducerCryptoFailureAction.html" 
title="enum in org.apache.pulsar.client.api" 
target="classFrame">ProducerCryptoFailureAction</a></li>
+<li><a href="org/apache/pulsar/client/api/ProducerStats.html" title="interface 
in org.apache.pulsar.client.api" target="classFrame"><span 
class="interfaceName">ProducerStats</span></a></li>
 <li><a href="org/apache/pulsar/client/api/PulsarClient.html" title="interface 
in org.apache.pulsar.client.api" target="classFrame"><span 
class="interfaceName">PulsarClient</span></a></li>
 <li><a href="org/apache/pulsar/client/api/PulsarClientException.html" 
title="class in org.apache.pulsar.client.api" 
target="classFrame">PulsarClientException</a></li>
 <li><a 
href="org/apache/pulsar/client/api/PulsarClientException.AlreadyClosedException.html"
 title="class in org.apache.pulsar.client.api" 
target="classFrame">PulsarClientException.AlreadyClosedException</a></li>
diff --git a/content/api/client/allclasses-noframe.html 
b/content/api/client/allclasses-noframe.html
index c969d6f..8a6d589 100644
--- a/content/api/client/allclasses-noframe.html
+++ b/content/api/client/allclasses-noframe.html
@@ -23,6 +23,7 @@
 <li><a href="org/apache/pulsar/client/api/ConsumerConfiguration.html" 
title="class in org.apache.pulsar.client.api">ConsumerConfiguration</a></li>
 <li><a href="org/apache/pulsar/client/api/ConsumerCryptoFailureAction.html" 
title="enum in 
org.apache.pulsar.client.api">ConsumerCryptoFailureAction</a></li>
 <li><a href="org/apache/pulsar/client/api/ConsumerEventListener.html" 
title="interface in org.apache.pulsar.client.api"><span 
class="interfaceName">ConsumerEventListener</span></a></li>
+<li><a href="org/apache/pulsar/client/api/ConsumerStats.html" title="interface 
in org.apache.pulsar.client.api"><span 
class="interfaceName">ConsumerStats</span></a></li>
 <li><a href="org/apache/pulsar/client/api/CryptoKeyReader.html" 
title="interface in org.apache.pulsar.client.api"><span 
class="interfaceName">CryptoKeyReader</span></a></li>
 <li><a href="org/apache/pulsar/client/api/url/DataURLStreamHandler.html" 
title="class in org.apache.pulsar.client.api.url">DataURLStreamHandler</a></li>
 <li><a 
href="org/apache/pulsar/client/api/EncodedAuthenticationParameterSupport.html" 
title="interface in org.apache.pulsar.client.api"><span 
class="interfaceName">EncodedAuthenticationParameterSupport</span></a></li>
@@ -40,6 +41,7 @@
 <li><a 
href="org/apache/pulsar/client/api/ProducerConfiguration.HashingScheme.html" 
title="enum in 
org.apache.pulsar.client.api">ProducerConfiguration.HashingScheme</a></li>
 <li><a 
href="org/apache/pulsar/client/api/ProducerConfiguration.MessageRoutingMode.html"
 title="enum in 
org.apache.pulsar.client.api">ProducerConfiguration.MessageRoutingMode</a></li>
 <li><a href="org/apache/pulsar/client/api/ProducerCryptoFailureAction.html" 
title="enum in 
org.apache.pulsar.client.api">ProducerCryptoFailureAction</a></li>
+<li><a href="org/apache/pulsar/client/api/ProducerStats.html" title="interface 
in org.apache.pulsar.client.api"><span 
class="interfaceName">ProducerStats</span></a></li>
 <li><a href="org/apache/pulsar/client/api/PulsarClient.html" title="interface 
in org.apache.pulsar.client.api"><span 
class="interfaceName">PulsarClient</span></a></li>
 <li><a href="org/apache/pulsar/client/api/PulsarClientException.html" 
title="class in org.apache.pulsar.client.api">PulsarClientException</a></li>
 <li><a 
href="org/apache/pulsar/client/api/PulsarClientException.AlreadyClosedException.html"
 title="class in 
org.apache.pulsar.client.api">PulsarClientException.AlreadyClosedException</a></li>
diff --git a/content/api/client/index-all.html 
b/content/api/client/index-all.html
index 9c6005a..9443e1c 100644
--- a/content/api/client/index-all.html
+++ b/content/api/client/index-all.html
@@ -335,6 +335,10 @@
 <dd>
 <div class="block">Set the consumer name.</div>
 </dd>
+<dt><a href="org/apache/pulsar/client/api/ConsumerStats.html" title="interface 
in org.apache.pulsar.client.api"><span 
class="typeNameLink">ConsumerStats</span></a> - Interface in <a 
href="org/apache/pulsar/client/api/package-summary.html">org.apache.pulsar.client.api</a></dt>
+<dd>
+<div class="block">Consumer statistics recorded by client.</div>
+</dd>
 <dt><span class="memberNameLink"><a 
href="org/apache/pulsar/client/api/AuthenticationFactory.html#create-java.lang.String-java.lang.String-">create(String,
 String)</a></span> - Static method in class org.apache.pulsar.client.api.<a 
href="org/apache/pulsar/client/api/AuthenticationFactory.html" title="class in 
org.apache.pulsar.client.api">AuthenticationFactory</a></dt>
 <dd>
 <div class="block">Create an instance of the Authentication-Plugin</div>
@@ -682,6 +686,24 @@
 </dd>
 <dt><span class="memberNameLink"><a 
href="org/apache/pulsar/client/api/EncryptionKeyInfo.html#getMetadata--">getMetadata()</a></span>
 - Method in class org.apache.pulsar.client.api.<a 
href="org/apache/pulsar/client/api/EncryptionKeyInfo.html" title="class in 
org.apache.pulsar.client.api">EncryptionKeyInfo</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a 
href="org/apache/pulsar/client/api/ConsumerStats.html#getNumAcksFailed--">getNumAcksFailed()</a></span>
 - Method in interface org.apache.pulsar.client.api.<a 
href="org/apache/pulsar/client/api/ConsumerStats.html" title="interface in 
org.apache.pulsar.client.api">ConsumerStats</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a 
href="org/apache/pulsar/client/api/ProducerStats.html#getNumAcksReceived--">getNumAcksReceived()</a></span>
 - Method in interface org.apache.pulsar.client.api.<a 
href="org/apache/pulsar/client/api/ProducerStats.html" title="interface in 
org.apache.pulsar.client.api">ProducerStats</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a 
href="org/apache/pulsar/client/api/ConsumerStats.html#getNumAcksSent--">getNumAcksSent()</a></span>
 - Method in interface org.apache.pulsar.client.api.<a 
href="org/apache/pulsar/client/api/ConsumerStats.html" title="interface in 
org.apache.pulsar.client.api">ConsumerStats</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a 
href="org/apache/pulsar/client/api/ConsumerStats.html#getNumBytesReceived--">getNumBytesReceived()</a></span>
 - Method in interface org.apache.pulsar.client.api.<a 
href="org/apache/pulsar/client/api/ConsumerStats.html" title="interface in 
org.apache.pulsar.client.api">ConsumerStats</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a 
href="org/apache/pulsar/client/api/ProducerStats.html#getNumBytesSent--">getNumBytesSent()</a></span>
 - Method in interface org.apache.pulsar.client.api.<a 
href="org/apache/pulsar/client/api/ProducerStats.html" title="interface in 
org.apache.pulsar.client.api">ProducerStats</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a 
href="org/apache/pulsar/client/api/ConsumerStats.html#getNumMsgsReceived--">getNumMsgsReceived()</a></span>
 - Method in interface org.apache.pulsar.client.api.<a 
href="org/apache/pulsar/client/api/ConsumerStats.html" title="interface in 
org.apache.pulsar.client.api">ConsumerStats</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a 
href="org/apache/pulsar/client/api/ProducerStats.html#getNumMsgsSent--">getNumMsgsSent()</a></span>
 - Method in interface org.apache.pulsar.client.api.<a 
href="org/apache/pulsar/client/api/ProducerStats.html" title="interface in 
org.apache.pulsar.client.api">ProducerStats</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a 
href="org/apache/pulsar/client/api/ConsumerStats.html#getNumReceiveFailed--">getNumReceiveFailed()</a></span>
 - Method in interface org.apache.pulsar.client.api.<a 
href="org/apache/pulsar/client/api/ConsumerStats.html" title="interface in 
org.apache.pulsar.client.api">ConsumerStats</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a 
href="org/apache/pulsar/client/api/ProducerStats.html#getNumSendFailed--">getNumSendFailed()</a></span>
 - Method in interface org.apache.pulsar.client.api.<a 
href="org/apache/pulsar/client/api/ProducerStats.html" title="interface in 
org.apache.pulsar.client.api">ProducerStats</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a 
href="org/apache/pulsar/client/api/ClientConfiguration.html#getOperationTimeoutMs--">getOperationTimeoutMs()</a></span>
 - Method in class org.apache.pulsar.client.api.<a 
href="org/apache/pulsar/client/api/ClientConfiguration.html" title="class in 
org.apache.pulsar.client.api">ClientConfiguration</a></dt>
 <dd>
 <div class="block"><span class="deprecatedLabel">Deprecated.</span></div>
@@ -730,6 +752,10 @@
 <dd>
 <div class="block">Get the publish time of this message.</div>
 </dd>
+<dt><span class="memberNameLink"><a 
href="org/apache/pulsar/client/api/ConsumerStats.html#getRateBytesReceived--">getRateBytesReceived()</a></span>
 - Method in interface org.apache.pulsar.client.api.<a 
href="org/apache/pulsar/client/api/ConsumerStats.html" title="interface in 
org.apache.pulsar.client.api">ConsumerStats</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a 
href="org/apache/pulsar/client/api/ConsumerStats.html#getRateMsgsReceived--">getRateMsgsReceived()</a></span>
 - Method in interface org.apache.pulsar.client.api.<a 
href="org/apache/pulsar/client/api/ConsumerStats.html" title="interface in 
org.apache.pulsar.client.api">ConsumerStats</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a 
href="org/apache/pulsar/client/api/ConsumerConfiguration.html#getReadCompacted--">getReadCompacted()</a></span>
 - Method in class org.apache.pulsar.client.api.<a 
href="org/apache/pulsar/client/api/ConsumerConfiguration.html" title="class in 
org.apache.pulsar.client.api">ConsumerConfiguration</a></dt>
 <dd>
 <div class="block"><span class="deprecatedLabel">Deprecated.</span></div>
@@ -754,6 +780,22 @@
 <dd>
 <div class="block"><span class="deprecatedLabel">Deprecated.</span></div>
 &nbsp;</dd>
+<dt><span class="memberNameLink"><a 
href="org/apache/pulsar/client/api/ProducerStats.html#getSendBytesRate--">getSendBytesRate()</a></span>
 - Method in interface org.apache.pulsar.client.api.<a 
href="org/apache/pulsar/client/api/ProducerStats.html" title="interface in 
org.apache.pulsar.client.api">ProducerStats</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a 
href="org/apache/pulsar/client/api/ProducerStats.html#getSendLatencyMillis50pct--">getSendLatencyMillis50pct()</a></span>
 - Method in interface org.apache.pulsar.client.api.<a 
href="org/apache/pulsar/client/api/ProducerStats.html" title="interface in 
org.apache.pulsar.client.api">ProducerStats</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a 
href="org/apache/pulsar/client/api/ProducerStats.html#getSendLatencyMillis75pct--">getSendLatencyMillis75pct()</a></span>
 - Method in interface org.apache.pulsar.client.api.<a 
href="org/apache/pulsar/client/api/ProducerStats.html" title="interface in 
org.apache.pulsar.client.api">ProducerStats</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a 
href="org/apache/pulsar/client/api/ProducerStats.html#getSendLatencyMillis95pct--">getSendLatencyMillis95pct()</a></span>
 - Method in interface org.apache.pulsar.client.api.<a 
href="org/apache/pulsar/client/api/ProducerStats.html" title="interface in 
org.apache.pulsar.client.api">ProducerStats</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a 
href="org/apache/pulsar/client/api/ProducerStats.html#getSendLatencyMillis999pct--">getSendLatencyMillis999pct()</a></span>
 - Method in interface org.apache.pulsar.client.api.<a 
href="org/apache/pulsar/client/api/ProducerStats.html" title="interface in 
org.apache.pulsar.client.api">ProducerStats</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a 
href="org/apache/pulsar/client/api/ProducerStats.html#getSendLatencyMillis99pct--">getSendLatencyMillis99pct()</a></span>
 - Method in interface org.apache.pulsar.client.api.<a 
href="org/apache/pulsar/client/api/ProducerStats.html" title="interface in 
org.apache.pulsar.client.api">ProducerStats</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a 
href="org/apache/pulsar/client/api/ProducerStats.html#getSendLatencyMillisMax--">getSendLatencyMillisMax()</a></span>
 - Method in interface org.apache.pulsar.client.api.<a 
href="org/apache/pulsar/client/api/ProducerStats.html" title="interface in 
org.apache.pulsar.client.api">ProducerStats</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a 
href="org/apache/pulsar/client/api/ProducerStats.html#getSendMsgsRate--">getSendMsgsRate()</a></span>
 - Method in interface org.apache.pulsar.client.api.<a 
href="org/apache/pulsar/client/api/ProducerStats.html" title="interface in 
org.apache.pulsar.client.api">ProducerStats</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a 
href="org/apache/pulsar/client/api/ProducerConfiguration.html#getSendTimeoutMs--">getSendTimeoutMs()</a></span>
 - Method in class org.apache.pulsar.client.api.<a 
href="org/apache/pulsar/client/api/ProducerConfiguration.html" title="class in 
org.apache.pulsar.client.api">ProducerConfiguration</a></dt>
 <dd>
 <div class="block"><span class="deprecatedLabel">Deprecated.</span></div>
@@ -764,24 +806,22 @@
 </dd>
 <dt><span class="memberNameLink"><a 
href="org/apache/pulsar/client/api/Consumer.html#getStats--">getStats()</a></span>
 - Method in interface org.apache.pulsar.client.api.<a 
href="org/apache/pulsar/client/api/Consumer.html" title="interface in 
org.apache.pulsar.client.api">Consumer</a></dt>
 <dd>
-<div class="block">Get statistics for the consumer
-
- numMsgsReceived : Number of messages received in the current interval 
numBytesReceived : Number of bytes received
- in the current interval numReceiveFailed : Number of messages failed to 
receive in the current interval
- numAcksSent : Number of acks sent in the current interval numAcksFailed : 
Number of acks failed to send in the
- current interval totalMsgsReceived : Total number of messages received 
totalBytesReceived : Total number of bytes
- received totalReceiveFailed : Total number of messages failed to receive 
totalAcksSent : Total number of acks
- sent totalAcksFailed : Total number of acks failed to sent</div>
+<div class="block">Get statistics for the consumer.</div>
 </dd>
 <dt><span class="memberNameLink"><a 
href="org/apache/pulsar/client/api/Producer.html#getStats--">getStats()</a></span>
 - Method in interface org.apache.pulsar.client.api.<a 
href="org/apache/pulsar/client/api/Producer.html" title="interface in 
org.apache.pulsar.client.api">Producer</a></dt>
 <dd>
 <div class="block">Get statistics for the producer
 
- numMsgsSent : Number of messages sent in the current interval numBytesSent : 
Number of bytes sent in the current
- interval numSendFailed : Number of messages failed to send in the current 
interval numAcksReceived : Number of
- acks received in the current interval totalMsgsSent : Total number of 
messages sent totalBytesSent : Total number
- of bytes sent totalSendFailed : Total number of messages failed to send 
totalAcksReceived: Total number of acks
- received</div>
+ 
+ numMsgsSent : Number of messages sent in the current interval
+ numBytesSent : Number of bytes sent in the current interval
+ numSendFailed : Number of messages failed to send in the current interval
+ numAcksReceived : Number of acks received in the current interval
+ totalMsgsSent : Total number of messages sent
+ totalBytesSent : Total number of bytes sent
+ totalSendFailed : Total number of messages failed to send
+ totalAcksReceived: Total number of acks received
+ </div>
 </dd>
 <dt><span class="memberNameLink"><a 
href="org/apache/pulsar/client/api/ClientConfiguration.html#getStatsIntervalSeconds--">getStatsIntervalSeconds()</a></span>
 - Method in class org.apache.pulsar.client.api.<a 
href="org/apache/pulsar/client/api/ClientConfiguration.html" title="class in 
org.apache.pulsar.client.api">ClientConfiguration</a></dt>
 <dd>
@@ -820,6 +860,24 @@
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a 
href="org/apache/pulsar/client/api/Reader.html#getTopic--">getTopic()</a></span>
 - Method in interface org.apache.pulsar.client.api.<a 
href="org/apache/pulsar/client/api/Reader.html" title="interface in 
org.apache.pulsar.client.api">Reader</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a 
href="org/apache/pulsar/client/api/ConsumerStats.html#getTotalAcksFailed--">getTotalAcksFailed()</a></span>
 - Method in interface org.apache.pulsar.client.api.<a 
href="org/apache/pulsar/client/api/ConsumerStats.html" title="interface in 
org.apache.pulsar.client.api">ConsumerStats</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a 
href="org/apache/pulsar/client/api/ProducerStats.html#getTotalAcksReceived--">getTotalAcksReceived()</a></span>
 - Method in interface org.apache.pulsar.client.api.<a 
href="org/apache/pulsar/client/api/ProducerStats.html" title="interface in 
org.apache.pulsar.client.api">ProducerStats</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a 
href="org/apache/pulsar/client/api/ConsumerStats.html#getTotalAcksSent--">getTotalAcksSent()</a></span>
 - Method in interface org.apache.pulsar.client.api.<a 
href="org/apache/pulsar/client/api/ConsumerStats.html" title="interface in 
org.apache.pulsar.client.api">ConsumerStats</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a 
href="org/apache/pulsar/client/api/ConsumerStats.html#getTotalBytesReceived--">getTotalBytesReceived()</a></span>
 - Method in interface org.apache.pulsar.client.api.<a 
href="org/apache/pulsar/client/api/ConsumerStats.html" title="interface in 
org.apache.pulsar.client.api">ConsumerStats</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a 
href="org/apache/pulsar/client/api/ProducerStats.html#getTotalBytesSent--">getTotalBytesSent()</a></span>
 - Method in interface org.apache.pulsar.client.api.<a 
href="org/apache/pulsar/client/api/ProducerStats.html" title="interface in 
org.apache.pulsar.client.api">ProducerStats</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a 
href="org/apache/pulsar/client/api/ConsumerStats.html#getTotalMsgsReceived--">getTotalMsgsReceived()</a></span>
 - Method in interface org.apache.pulsar.client.api.<a 
href="org/apache/pulsar/client/api/ConsumerStats.html" title="interface in 
org.apache.pulsar.client.api">ConsumerStats</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a 
href="org/apache/pulsar/client/api/ProducerStats.html#getTotalMsgsSent--">getTotalMsgsSent()</a></span>
 - Method in interface org.apache.pulsar.client.api.<a 
href="org/apache/pulsar/client/api/ProducerStats.html" title="interface in 
org.apache.pulsar.client.api">ProducerStats</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a 
href="org/apache/pulsar/client/api/ConsumerStats.html#getTotalReceivedFailed--">getTotalReceivedFailed()</a></span>
 - Method in interface org.apache.pulsar.client.api.<a 
href="org/apache/pulsar/client/api/ConsumerStats.html" title="interface in 
org.apache.pulsar.client.api">ConsumerStats</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a 
href="org/apache/pulsar/client/api/ProducerStats.html#getTotalSendFailed--">getTotalSendFailed()</a></span>
 - Method in interface org.apache.pulsar.client.api.<a 
href="org/apache/pulsar/client/api/ProducerStats.html" title="interface in 
org.apache.pulsar.client.api">ProducerStats</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a 
href="org/apache/pulsar/client/api/Message.html#getValue--">getValue()</a></span>
 - Method in interface org.apache.pulsar.client.api.<a 
href="org/apache/pulsar/client/api/Message.html" title="interface in 
org.apache.pulsar.client.api">Message</a></dt>
 <dd>&nbsp;</dd>
 </dl>
@@ -1109,6 +1167,10 @@
 </dd>
 <dt><span class="memberNameLink"><a 
href="org/apache/pulsar/client/api/PulsarClientException.ProducerQueueIsFullError.html#ProducerQueueIsFullError-java.lang.String-">ProducerQueueIsFullError(String)</a></span>
 - Constructor for exception org.apache.pulsar.client.api.<a 
href="org/apache/pulsar/client/api/PulsarClientException.ProducerQueueIsFullError.html"
 title="class in 
org.apache.pulsar.client.api">PulsarClientException.ProducerQueueIsFullError</a></dt>
 <dd>&nbsp;</dd>
+<dt><a href="org/apache/pulsar/client/api/ProducerStats.html" title="interface 
in org.apache.pulsar.client.api"><span 
class="typeNameLink">ProducerStats</span></a> - Interface in <a 
href="org/apache/pulsar/client/api/package-summary.html">org.apache.pulsar.client.api</a></dt>
+<dd>
+<div class="block">Producer statistics recorded by client.</div>
+</dd>
 <dt><span class="memberNameLink"><a 
href="org/apache/pulsar/client/api/ConsumerBuilder.html#properties-java.util.Map-">properties(Map&lt;String,
 String&gt;)</a></span> - Method in interface org.apache.pulsar.client.api.<a 
href="org/apache/pulsar/client/api/ConsumerBuilder.html" title="interface in 
org.apache.pulsar.client.api">ConsumerBuilder</a></dt>
 <dd>
 <div class="block">Add all the properties in the provided map</div>
diff --git a/content/api/client/org/apache/pulsar/client/api/Consumer.html 
b/content/api/client/org/apache/pulsar/client/api/Consumer.html
index fd3b836..337185a 100644
--- a/content/api/client/org/apache/pulsar/client/api/Consumer.html
+++ b/content/api/client/org/apache/pulsar/client/api/Consumer.html
@@ -187,16 +187,9 @@ extends Closeable</pre>
 </td>
 </tr>
 <tr id="i10" class="altColor">
-<td class="colFirst"><code>ConsumerStats</code></td>
+<td class="colFirst"><code><a 
href="../../../../../org/apache/pulsar/client/api/ConsumerStats.html" 
title="interface in org.apache.pulsar.client.api">ConsumerStats</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a 
href="../../../../../org/apache/pulsar/client/api/Consumer.html#getStats--">getStats</a></span>()</code>
-<div class="block">Get statistics for the consumer
-
- numMsgsReceived : Number of messages received in the current interval 
numBytesReceived : Number of bytes received
- in the current interval numReceiveFailed : Number of messages failed to 
receive in the current interval
- numAcksSent : Number of acks sent in the current interval numAcksFailed : 
Number of acks failed to send in the
- current interval totalMsgsReceived : Total number of messages received 
totalBytesReceived : Total number of bytes
- received totalReceiveFailed : Total number of messages failed to receive 
totalAcksSent : Total number of acks
- sent totalAcksFailed : Total number of acks failed to sent</div>
+<div class="block">Get statistics for the consumer.</div>
 </td>
 </tr>
 <tr id="i11" class="rowColor">
@@ -569,18 +562,24 @@ extends Closeable</pre>
 <ul class="blockList">
 <li class="blockList">
 <h4>getStats</h4>
-<pre>ConsumerStats&nbsp;getStats()</pre>
-<div class="block">Get statistics for the consumer
+<pre><a href="../../../../../org/apache/pulsar/client/api/ConsumerStats.html" 
title="interface in 
org.apache.pulsar.client.api">ConsumerStats</a>&nbsp;getStats()</pre>
+<div class="block">Get statistics for the consumer.
 
- numMsgsReceived : Number of messages received in the current interval 
numBytesReceived : Number of bytes received
- in the current interval numReceiveFailed : Number of messages failed to 
receive in the current interval
- numAcksSent : Number of acks sent in the current interval numAcksFailed : 
Number of acks failed to send in the
- current interval totalMsgsReceived : Total number of messages received 
totalBytesReceived : Total number of bytes
- received totalReceiveFailed : Total number of messages failed to receive 
totalAcksSent : Total number of acks
- sent totalAcksFailed : Total number of acks failed to sent</div>
+ <ul>
+ <li>numMsgsReceived : Number of messages received in the current interval
+ <li>numBytesReceived : Number of bytes received in the current interval
+ <li>numReceiveFailed : Number of messages failed to receive in the current 
interval
+ <li>numAcksSent : Number of acks sent in the current interval
+ <li>numAcksFailed : Number of acks failed to send in the current interval
+ <li>totalMsgsReceived : Total number of messages received
+ <li>totalBytesReceived : Total number of bytes received
+ <li>totalReceiveFailed : Total number of messages failed to receive
+ <li>totalAcksSent : Total number of acks sent
+ <li>totalAcksFailed : Total number of acks failed to sent
+ </ul></div>
 <dl>
 <dt><span class="returnLabel">Returns:</span></dt>
-<dd>statistic for the consumer or null if ConsumerStats is disabled.</dd>
+<dd>statistic for the consumer</dd>
 </dl>
 </li>
 </ul>
@@ -624,7 +623,10 @@ extends Closeable</pre>
 <li class="blockList">
 <h4>hasReachedEndOfTopic</h4>
 <pre>boolean&nbsp;hasReachedEndOfTopic()</pre>
-<div class="block">Return true if the topic was terminated and this consumer 
has already consumed all the messages in the topic.</div>
+<div class="block">Return true if the topic was terminated and this consumer 
has already consumed all the messages in the topic.
+
+ Please note that this does not simply mean that the consumer is caught up 
with the last message published by
+ producers, rather the topic needs to be explicitly "terminated".</div>
 </li>
 </ul>
 <a name="redeliverUnacknowledgedMessages--">
diff --git 
a/content/api/client/org/apache/pulsar/client/api/ConsumerEventListener.html 
b/content/api/client/org/apache/pulsar/client/api/ConsumerEventListener.html
index c468066..3600c7f 100644
--- a/content/api/client/org/apache/pulsar/client/api/ConsumerEventListener.html
+++ b/content/api/client/org/apache/pulsar/client/api/ConsumerEventListener.html
@@ -48,7 +48,7 @@ var activeTableTab = "activeTableTab";
 <div class="subNav">
 <ul class="navList">
 <li><a 
href="../../../../../org/apache/pulsar/client/api/ConsumerCryptoFailureAction.html"
 title="enum in org.apache.pulsar.client.api"><span 
class="typeNameLink">Prev&nbsp;Class</span></a></li>
-<li><a href="../../../../../org/apache/pulsar/client/api/CryptoKeyReader.html" 
title="interface in org.apache.pulsar.client.api"><span 
class="typeNameLink">Next&nbsp;Class</span></a></li>
+<li><a href="../../../../../org/apache/pulsar/client/api/ConsumerStats.html" 
title="interface in org.apache.pulsar.client.api"><span 
class="typeNameLink">Next&nbsp;Class</span></a></li>
 </ul>
 <ul class="navList">
 <li><a 
href="../../../../../index.html?org/apache/pulsar/client/api/ConsumerEventListener.html"
 target="_top">Frames</a></li>
@@ -198,7 +198,7 @@ var activeTableTab = "activeTableTab";
 <div class="subNav">
 <ul class="navList">
 <li><a 
href="../../../../../org/apache/pulsar/client/api/ConsumerCryptoFailureAction.html"
 title="enum in org.apache.pulsar.client.api"><span 
class="typeNameLink">Prev&nbsp;Class</span></a></li>
-<li><a href="../../../../../org/apache/pulsar/client/api/CryptoKeyReader.html" 
title="interface in org.apache.pulsar.client.api"><span 
class="typeNameLink">Next&nbsp;Class</span></a></li>
+<li><a href="../../../../../org/apache/pulsar/client/api/ConsumerStats.html" 
title="interface in org.apache.pulsar.client.api"><span 
class="typeNameLink">Next&nbsp;Class</span></a></li>
 </ul>
 <ul class="navList">
 <li><a 
href="../../../../../index.html?org/apache/pulsar/client/api/ConsumerEventListener.html"
 target="_top">Frames</a></li>
diff --git a/content/api/client/org/apache/pulsar/client/api/ConsumerStats.html 
b/content/api/client/org/apache/pulsar/client/api/ConsumerStats.html
new file mode 100644
index 0000000..17f1b6e
--- /dev/null
+++ b/content/api/client/org/apache/pulsar/client/api/ConsumerStats.html
@@ -0,0 +1,418 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" 
"http://www.w3.org/TR/html4/loose.dtd";>
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc -->
+<title>ConsumerStats (Pulsar Client Java API)</title>
+<link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" 
title="Style">
+<script type="text/javascript" src="../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="ConsumerStats (Pulsar Client Java API)";
+        }
+    }
+    catch(err) {
+    }
+//-->
+var methods = 
{"i0":6,"i1":6,"i2":6,"i3":6,"i4":6,"i5":6,"i6":6,"i7":6,"i8":6,"i9":6,"i10":6,"i11":6};
+var tabs = {65535:["t0","All Methods"],2:["t2","Instance 
Methods"],4:["t3","Abstract Methods"]};
+var altColor = "altColor";
+var rowColor = "rowColor";
+var tableTab = "tableTab";
+var activeTableTab = "activeTableTab";
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation 
links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a 
href="../../../../../org/apache/pulsar/client/api/ConsumerEventListener.html" 
title="interface in org.apache.pulsar.client.api"><span 
class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../../org/apache/pulsar/client/api/CryptoKeyReader.html" 
title="interface in org.apache.pulsar.client.api"><span 
class="typeNameLink">Next&nbsp;Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a 
href="../../../../../index.html?org/apache/pulsar/client/api/ConsumerStats.html"
 target="_top">Frames</a></li>
+<li><a href="ConsumerStats.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li>Nested&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li>Constr&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li>Constr&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<!-- ======== START OF CLASS DATA ======== -->
+<div class="header">
+<div class="subTitle">org.apache.pulsar.client.api</div>
+<h2 title="Interface ConsumerStats" class="title">Interface ConsumerStats</h2>
+</div>
+<div class="contentContainer">
+<div class="description">
+<ul class="blockList">
+<li class="blockList">
+<dl>
+<dt>All Superinterfaces:</dt>
+<dd>Serializable</dd>
+</dl>
+<hr>
+<br>
+<pre>public interface <span class="typeNameLabel">ConsumerStats</span>
+extends Serializable</pre>
+<div class="block">Consumer statistics recorded by client.
+
+ All the stats are relative to the last recording period. The interval of the 
stats refreshes is configured with
+ <a 
href="../../../../../org/apache/pulsar/client/api/ClientBuilder.html#statsInterval-long-java.util.concurrent.TimeUnit-"><code>ClientBuilder.statsInterval(long,
 java.util.concurrent.TimeUnit)</code></a> with a default of 1 minute.</div>
+</li>
+</ul>
+</div>
+<div class="summary">
+<ul class="blockList">
+<li class="blockList">
+<!-- ========== METHOD SUMMARY =========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.summary">
+<!--   -->
+</a>
+<h3>Method Summary</h3>
+<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" 
summary="Method Summary table, listing methods, and an explanation">
+<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span 
class="tabEnd">&nbsp;</span></span><span id="t2" class="tableTab"><span><a 
href="javascript:show(2);">Instance Methods</a></span><span 
class="tabEnd">&nbsp;</span></span><span id="t3" class="tableTab"><span><a 
href="javascript:show(4);">Abstract Methods</a></span><span 
class="tabEnd">&nbsp;</span></span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tr id="i0" class="altColor">
+<td class="colFirst"><code>long</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a 
href="../../../../../org/apache/pulsar/client/api/ConsumerStats.html#getNumAcksFailed--">getNumAcksFailed</a></span>()</code>&nbsp;</td>
+</tr>
+<tr id="i1" class="rowColor">
+<td class="colFirst"><code>long</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a 
href="../../../../../org/apache/pulsar/client/api/ConsumerStats.html#getNumAcksSent--">getNumAcksSent</a></span>()</code>&nbsp;</td>
+</tr>
+<tr id="i2" class="altColor">
+<td class="colFirst"><code>long</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a 
href="../../../../../org/apache/pulsar/client/api/ConsumerStats.html#getNumBytesReceived--">getNumBytesReceived</a></span>()</code>&nbsp;</td>
+</tr>
+<tr id="i3" class="rowColor">
+<td class="colFirst"><code>long</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a 
href="../../../../../org/apache/pulsar/client/api/ConsumerStats.html#getNumMsgsReceived--">getNumMsgsReceived</a></span>()</code>&nbsp;</td>
+</tr>
+<tr id="i4" class="altColor">
+<td class="colFirst"><code>long</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a 
href="../../../../../org/apache/pulsar/client/api/ConsumerStats.html#getNumReceiveFailed--">getNumReceiveFailed</a></span>()</code>&nbsp;</td>
+</tr>
+<tr id="i5" class="rowColor">
+<td class="colFirst"><code>double</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a 
href="../../../../../org/apache/pulsar/client/api/ConsumerStats.html#getRateBytesReceived--">getRateBytesReceived</a></span>()</code>&nbsp;</td>
+</tr>
+<tr id="i6" class="altColor">
+<td class="colFirst"><code>double</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a 
href="../../../../../org/apache/pulsar/client/api/ConsumerStats.html#getRateMsgsReceived--">getRateMsgsReceived</a></span>()</code>&nbsp;</td>
+</tr>
+<tr id="i7" class="rowColor">
+<td class="colFirst"><code>long</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a 
href="../../../../../org/apache/pulsar/client/api/ConsumerStats.html#getTotalAcksFailed--">getTotalAcksFailed</a></span>()</code>&nbsp;</td>
+</tr>
+<tr id="i8" class="altColor">
+<td class="colFirst"><code>long</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a 
href="../../../../../org/apache/pulsar/client/api/ConsumerStats.html#getTotalAcksSent--">getTotalAcksSent</a></span>()</code>&nbsp;</td>
+</tr>
+<tr id="i9" class="rowColor">
+<td class="colFirst"><code>long</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a 
href="../../../../../org/apache/pulsar/client/api/ConsumerStats.html#getTotalBytesReceived--">getTotalBytesReceived</a></span>()</code>&nbsp;</td>
+</tr>
+<tr id="i10" class="altColor">
+<td class="colFirst"><code>long</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a 
href="../../../../../org/apache/pulsar/client/api/ConsumerStats.html#getTotalMsgsReceived--">getTotalMsgsReceived</a></span>()</code>&nbsp;</td>
+</tr>
+<tr id="i11" class="rowColor">
+<td class="colFirst"><code>long</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a 
href="../../../../../org/apache/pulsar/client/api/ConsumerStats.html#getTotalReceivedFailed--">getTotalReceivedFailed</a></span>()</code>&nbsp;</td>
+</tr>
+</table>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+<div class="details">
+<ul class="blockList">
+<li class="blockList">
+<!-- ============ METHOD DETAIL ========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.detail">
+<!--   -->
+</a>
+<h3>Method Detail</h3>
+<a name="getNumMsgsReceived--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getNumMsgsReceived</h4>
+<pre>long&nbsp;getNumMsgsReceived()</pre>
+<dl>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>Number of messages received in the last interval</dd>
+</dl>
+</li>
+</ul>
+<a name="getNumBytesReceived--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getNumBytesReceived</h4>
+<pre>long&nbsp;getNumBytesReceived()</pre>
+<dl>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>Number of bytes received in the last interval</dd>
+</dl>
+</li>
+</ul>
+<a name="getRateMsgsReceived--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getRateMsgsReceived</h4>
+<pre>double&nbsp;getRateMsgsReceived()</pre>
+<dl>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>Rate of bytes per second received in the last interval</dd>
+</dl>
+</li>
+</ul>
+<a name="getRateBytesReceived--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getRateBytesReceived</h4>
+<pre>double&nbsp;getRateBytesReceived()</pre>
+<dl>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>Rate of bytes per second received in the last interval</dd>
+</dl>
+</li>
+</ul>
+<a name="getNumAcksSent--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getNumAcksSent</h4>
+<pre>long&nbsp;getNumAcksSent()</pre>
+<dl>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>Number of message acknowledgments sent in the last interval</dd>
+</dl>
+</li>
+</ul>
+<a name="getNumAcksFailed--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getNumAcksFailed</h4>
+<pre>long&nbsp;getNumAcksFailed()</pre>
+<dl>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>Number of message acknowledgments failed in the last interval</dd>
+</dl>
+</li>
+</ul>
+<a name="getNumReceiveFailed--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getNumReceiveFailed</h4>
+<pre>long&nbsp;getNumReceiveFailed()</pre>
+<dl>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>Number of message receive failed in the last interval</dd>
+</dl>
+</li>
+</ul>
+<a name="getTotalMsgsReceived--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getTotalMsgsReceived</h4>
+<pre>long&nbsp;getTotalMsgsReceived()</pre>
+<dl>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>Total number of messages received by this consumer</dd>
+</dl>
+</li>
+</ul>
+<a name="getTotalBytesReceived--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getTotalBytesReceived</h4>
+<pre>long&nbsp;getTotalBytesReceived()</pre>
+<dl>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>Total number of bytes received by this consumer</dd>
+</dl>
+</li>
+</ul>
+<a name="getTotalReceivedFailed--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getTotalReceivedFailed</h4>
+<pre>long&nbsp;getTotalReceivedFailed()</pre>
+<dl>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>Total number of messages receive failures</dd>
+</dl>
+</li>
+</ul>
+<a name="getTotalAcksSent--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getTotalAcksSent</h4>
+<pre>long&nbsp;getTotalAcksSent()</pre>
+<dl>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>Total number of message acknowledgments sent by this consumer</dd>
+</dl>
+</li>
+</ul>
+<a name="getTotalAcksFailed--">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>getTotalAcksFailed</h4>
+<pre>long&nbsp;getTotalAcksFailed()</pre>
+<dl>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>Total number of message acknowledgments failures on this consumer</dd>
+</dl>
+</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+</div>
+<!-- ========= END OF CLASS DATA ========= -->
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation 
links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a 
href="../../../../../org/apache/pulsar/client/api/ConsumerEventListener.html" 
title="interface in org.apache.pulsar.client.api"><span 
class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../../org/apache/pulsar/client/api/CryptoKeyReader.html" 
title="interface in org.apache.pulsar.client.api"><span 
class="typeNameLink">Next&nbsp;Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a 
href="../../../../../index.html?org/apache/pulsar/client/api/ConsumerStats.html"
 target="_top">Frames</a></li>
+<li><a href="ConsumerStats.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li>Nested&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li>Constr&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li>Constr&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+</body>
+</html>
diff --git 
a/content/api/client/org/apache/pulsar/client/api/CryptoKeyReader.html 
b/content/api/client/org/apache/pulsar/client/api/CryptoKeyReader.html
index 03217d0..58da967 100644
--- a/content/api/client/org/apache/pulsar/client/api/CryptoKeyReader.html
+++ b/content/api/client/org/apache/pulsar/client/api/CryptoKeyReader.html
@@ -47,7 +47,7 @@ var activeTableTab = "activeTableTab";
 </div>
 <div class="subNav">
 <ul class="navList">
-<li><a 
href="../../../../../org/apache/pulsar/client/api/ConsumerEventListener.html" 
title="interface in org.apache.pulsar.client.api"><span 
class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../../org/apache/pulsar/client/api/ConsumerStats.html" 
title="interface in org.apache.pulsar.client.api"><span 
class="typeNameLink">Prev&nbsp;Class</span></a></li>
 <li><a 
href="../../../../../org/apache/pulsar/client/api/EncodedAuthenticationParameterSupport.html"
 title="interface in org.apache.pulsar.client.api"><span 
class="typeNameLink">Next&nbsp;Class</span></a></li>
 </ul>
 <ul class="navList">
@@ -212,7 +212,7 @@ var activeTableTab = "activeTableTab";
 </div>
 <div class="subNav">
 <ul class="navList">
-<li><a 
href="../../../../../org/apache/pulsar/client/api/ConsumerEventListener.html" 
title="interface in org.apache.pulsar.client.api"><span 
class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../../org/apache/pulsar/client/api/ConsumerStats.html" 
title="interface in org.apache.pulsar.client.api"><span 
class="typeNameLink">Prev&nbsp;Class</span></a></li>
 <li><a 
href="../../../../../org/apache/pulsar/client/api/EncodedAuthenticationParameterSupport.html"
 title="interface in org.apache.pulsar.client.api"><span 
class="typeNameLink">Next&nbsp;Class</span></a></li>
 </ul>
 <ul class="navList">
diff --git a/content/api/client/org/apache/pulsar/client/api/Producer.html 
b/content/api/client/org/apache/pulsar/client/api/Producer.html
index 9c56fc5..b3ce7b2 100644
--- a/content/api/client/org/apache/pulsar/client/api/Producer.html
+++ b/content/api/client/org/apache/pulsar/client/api/Producer.html
@@ -149,15 +149,20 @@ extends Closeable</pre>
 <td class="colLast"><code><span class="memberNameLink"><a 
href="../../../../../org/apache/pulsar/client/api/Producer.html#getProducerName--">getProducerName</a></span>()</code>&nbsp;</td>
 </tr>
 <tr id="i4" class="altColor">
-<td class="colFirst"><code>ProducerStats</code></td>
+<td class="colFirst"><code><a 
href="../../../../../org/apache/pulsar/client/api/ProducerStats.html" 
title="interface in org.apache.pulsar.client.api">ProducerStats</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a 
href="../../../../../org/apache/pulsar/client/api/Producer.html#getStats--">getStats</a></span>()</code>
 <div class="block">Get statistics for the producer
 
- numMsgsSent : Number of messages sent in the current interval numBytesSent : 
Number of bytes sent in the current
- interval numSendFailed : Number of messages failed to send in the current 
interval numAcksReceived : Number of
- acks received in the current interval totalMsgsSent : Total number of 
messages sent totalBytesSent : Total number
- of bytes sent totalSendFailed : Total number of messages failed to send 
totalAcksReceived: Total number of acks
- received</div>
+ 
+ numMsgsSent : Number of messages sent in the current interval
+ numBytesSent : Number of bytes sent in the current interval
+ numSendFailed : Number of messages failed to send in the current interval
+ numAcksReceived : Number of acks received in the current interval
+ totalMsgsSent : Total number of messages sent
+ totalBytesSent : Total number of bytes sent
+ totalSendFailed : Total number of messages failed to send
+ totalAcksReceived: Total number of acks received
+ </div>
 </td>
 </tr>
 <tr id="i5" class="rowColor">
@@ -356,17 +361,22 @@ extends Closeable</pre>
 <ul class="blockList">
 <li class="blockList">
 <h4>getStats</h4>
-<pre>ProducerStats&nbsp;getStats()</pre>
+<pre><a href="../../../../../org/apache/pulsar/client/api/ProducerStats.html" 
title="interface in 
org.apache.pulsar.client.api">ProducerStats</a>&nbsp;getStats()</pre>
 <div class="block">Get statistics for the producer
 
- numMsgsSent : Number of messages sent in the current interval numBytesSent : 
Number of bytes sent in the current
- interval numSendFailed : Number of messages failed to send in the current 
interval numAcksReceived : Number of
- acks received in the current interval totalMsgsSent : Total number of 
messages sent totalBytesSent : Total number
- of bytes sent totalSendFailed : Total number of messages failed to send 
totalAcksReceived: Total number of acks
- received</div>
+ <ul>
+ <li>numMsgsSent : Number of messages sent in the current interval
+ <li>numBytesSent : Number of bytes sent in the current interval
+ <li>numSendFailed : Number of messages failed to send in the current interval
+ <li>numAcksReceived : Number of acks received in the current interval
+ <li>totalMsgsSent : Total number of messages sent
+ <li>totalBytesSent : Total number of bytes sent
+ <li>totalSendFailed : Total number of messages failed to send
+ <li>totalAcksReceived: Total number of acks received
+ </ul></div>
 <dl>
 <dt><span class="returnLabel">Returns:</span></dt>
-<dd>statistic for the producer or null if ProducerStats is disabled.</dd>
+<dd>statistic for the producer or null if ProducerStatsRecorderImpl is 
disabled.</dd>
 </dl>
 </li>
 </ul>
diff --git 
a/content/api/client/org/apache/pulsar/client/api/ProducerCryptoFailureAction.html
 
b/content/api/client/org/apache/pulsar/client/api/ProducerCryptoFailureAction.html
index aab3f36..ba7b44b 100644
--- 
a/content/api/client/org/apache/pulsar/client/api/ProducerCryptoFailureAction.html
+++ 
b/content/api/client/org/apache/pulsar/client/api/ProducerCryptoFailureAction.html
@@ -48,7 +48,7 @@ var activeTableTab = "activeTableTab";
 <div class="subNav">
 <ul class="navList">
 <li><a 
href="../../../../../org/apache/pulsar/client/api/ProducerConfiguration.MessageRoutingMode.html"
 title="enum in org.apache.pulsar.client.api"><span 
class="typeNameLink">Prev&nbsp;Class</span></a></li>
-<li><a href="../../../../../org/apache/pulsar/client/api/PulsarClient.html" 
title="interface in org.apache.pulsar.client.api"><span 
class="typeNameLink">Next&nbsp;Class</span></a></li>
+<li><a href="../../../../../org/apache/pulsar/client/api/ProducerStats.html" 
title="interface in org.apache.pulsar.client.api"><span 
class="typeNameLink">Next&nbsp;Class</span></a></li>
 </ul>
 <ul class="navList">
 <li><a 
href="../../../../../index.html?org/apache/pulsar/client/api/ProducerCryptoFailureAction.html"
 target="_top">Frames</a></li>
@@ -294,7 +294,7 @@ not permitted.)</div>
 <div class="subNav">
 <ul class="navList">
 <li><a 
href="../../../../../org/apache/pulsar/client/api/ProducerConfiguration.MessageRoutingMode.html"
 title="enum in org.apache.pulsar.client.api"><span 
class="typeNameLink">Prev&nbsp;Class</span></a></li>
-<li><a href="../../../../../org/apache/pulsar/client/api/PulsarClient.html" 
title="interface in org.apache.pulsar.client.api"><span 
class="typeNameLink">Next&nbsp;Class</span></a></li>
+<li><a href="../../../../../org/apache/pulsar/client/api/ProducerStats.html" 
title="interface in org.apache.pulsar.client.api"><span 
class="typeNameLink">Next&nbsp;Class</span></a></li>
 </ul>
 <ul class="navList">
 <li><a 
href="../../../../../index.html?org/apache/pulsar/client/api/ProducerCryptoFailureAction.html"
 target="_top">Frames</a></li>
diff --git a/content/api/client/org/apache/pulsar/client/api/ProducerStats.html 
b/content/api/client/org/apache/pulsar/client/api/ProducerStats.html
new file mode 100644
index 0000000..2a18f10
--- /dev/null
+++ b/content/api/client/org/apache/pulsar/client/api/ProducerStats.html
@@ -0,0 +1,486 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" 
"http://www.w3.org/TR/html4/loose.dtd";>
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc -->
+<title>ProducerStats (Pulsar Client Java API)</title>
+<link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" 
title="Style">
+<script type="text/javascript" src="../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="ProducerStats (Pulsar Client Java API)";
+        }
+    }
+    catch(err) {
+    }
+//-->
+var methods = 
{"i0":6,"i1":6,"i2":6,"i3":6,"i4":6,"i5":6,"i6":6,"i7":6,"i8":6,"i9":6,"i10":6,"i11":6,"i12":6,"i13":6,"i14":6,"i15":6};
+var tabs = {65535:["t0","All Methods"],2:["t2","Instance 
Methods"],4:["t3","Abstract Methods"]};
+var altColor = "altColor";
+var rowColor = "rowColor";
+var tableTab = "tableTab";
+var activeTableTab = "activeTableTab";
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation 
links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a 
href="../../../../../org/apache/pulsar/client/api/ProducerCryptoFailureAction.html"
 title="enum in org.apache.pulsar.client.api"><span 
class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../../org/apache/pulsar/client/api/PulsarClient.html" 
title="interface in org.apache.pulsar.client.api"><span 
class="typeNameLink">Next&nbsp;Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a 
href="../../../../../index.html?org/apache/pulsar/client/api/ProducerStats.html"
 target="_top">Frames</a></li>
+<li><a href="ProducerStats.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li>Nested&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li>Constr&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li>Constr&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<!-- ======== START OF CLASS DATA ======== -->
+<div class="header">
+<div class="subTitle">org.apache.pulsar.client.api</div>
+<h2 title="Interface ProducerStats" class="title">Interface ProducerStats</h2>
+</div>
+<div class="contentContainer">
+<div class="description">
+<ul class="blockList">
+<li class="blockList">
+<dl>
+<dt>All Superinterfaces:</dt>
+<dd>Serializable</dd>
+</dl>
+<hr>
+<br>
+<pre>public interface <span class="typeNameLabel">ProducerStats</span>
+extends Serializable</pre>
+<div class="block">Producer statistics recorded by client.
+
+ All the stats are relative to the last recording period. The interval of the 
stats refreshes is configured with
+ <a 
href="../../../../../org/apache/pulsar/client/api/ClientBuilder.html#statsInterval-long-java.util.concurrent.TimeUnit-"><code>ClientBuilder.statsInterval(long,
 java.util.concurrent.TimeUnit)</code></a> with a default of 1 minute.</div>
+</li>
+</ul>
+</div>
+<div class="summary">
+<ul class="blockList">
+<li class="blockList">
+<!-- ========== METHOD SUMMARY =========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.summary">
+<!--   -->
+</a>
+<h3>Method Summary</h3>
+<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" 
summary="Method Summary table, listing methods, and an explanation">
+<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span 
class="tabEnd">&nbsp;</span></span><span id="t2" class="tableTab"><span><a 
href="javascript:show(2);">Instance Methods</a></span><span 
class="tabEnd">&nbsp;</span></span><span id="t3" class="tableTab"><span><a 
href="javascript:show(4);">Abstract Methods</a></span><span 
class="tabEnd">&nbsp;</span></span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tr id="i0" class="altColor">
+<td class="colFirst"><code>long</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a 
href="../../../../../org/apache/pulsar/client/api/ProducerStats.html#getNumAcksReceived--">getNumAcksReceived</a></span>()</code>&nbsp;</td>
+</tr>
+<tr id="i1" class="rowColor">
+<td class="colFirst"><code>long</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a 
href="../../../../../org/apache/pulsar/client/api/ProducerStats.html#getNumBytesSent--">getNumBytesSent</a></span>()</code>&nbsp;</td>
+</tr>
+<tr id="i2" class="altColor">
+<td class="colFirst"><code>long</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a 
href="../../../../../org/apache/pulsar/client/api/ProducerStats.html#getNumMsgsSent--">getNumMsgsSent</a></span>()</code>&nbsp;</td>
+</tr>
+<tr id="i3" class="rowColor">
+<td class="colFirst"><code>long</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a 
href="../../../../../org/apache/pulsar/client/api/ProducerStats.html#getNumSendFailed--">getNumSendFailed</a></span>()</code>&nbsp;</td>
+</tr>
+<tr id="i4" class="altColor">
+<td class="colFirst"><code>double</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a 
href="../../../../../org/apache/pulsar/client/api/ProducerStats.html#getSendBytesRate--">getSendBytesRate</a></span>()</code>&nbsp;</td>
+</tr>
+<tr id="i5" class="rowColor">
+<td class="colFirst"><code>double</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a 
href="../../../../../org/apache/pulsar/client/api/ProducerStats.html#getSendLatencyMillis50pct--">getSendLatencyMillis50pct</a></span>()</code>&nbsp;</td>
+</tr>
+<tr id="i6" class="altColor">
+<td class="colFirst"><code>double</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a 
href="../../../../../org/apache/pulsar/client/api/ProducerStats.html#getSendLatencyMillis75pct--">getSendLatencyMillis75pct</a></span>()</code>&nbsp;</td>
+</tr>
+<tr id="i7" class="rowColor">
+<td class="colFirst"><code>double</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a 
href="../../../../../org/apache/pulsar/client/api/ProducerStats.html#getSendLatencyMillis95pct--">getSendLatencyMillis95pct</a></span>()</code>&nbsp;</td>
+</tr>
+<tr id="i8" class="altColor">
+<td class="colFirst"><code>double</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a 
href="../../../../../org/apache/pulsar/client/api/ProducerStats.html#getSendLatencyMillis999pct--">getSendLatencyMillis999pct</a></span>()</code>&nbsp;</td>
+</tr>
+<tr id="i9" class="rowColor">
+<td class="colFirst"><code>double</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a 
href="../../../../../org/apache/pulsar/client/api/ProducerStats.html#getSendLatencyMillis99pct--">getSendLatencyMillis99pct</a></span>()</code>&nbsp;</td>
+</tr>
+<tr id="i10" class="altColor">
+<td class="colFirst"><code>double</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a 
href="../../../../../org/apache/pulsar/client/api/ProducerStats.html#getSendLatencyMillisMax--">getSendLatencyMillisMax</a></span>()</code>&nbsp;</td>
+</tr>
+<tr id="i11" class="rowColor">
+<td class="colFirst"><code>double</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a 
href="../../../../../org/apache/pulsar/client/api/ProducerStats.html#getSendMsgsRate--">getSendMsgsRate</a></span>()</code>&nbsp;</td>
+</tr>
+<tr id="i12" class="altColor">
+<td class="colFirst"><code>long</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a 
href="../../../../../org/apache/pulsar/client/api/ProducerStats.html#getTotalAcksReceived--">getTotalAcksReceived</a></span>()</code>&nbsp;</td>
+</tr>
+<tr id="i13" class="rowColor">
+<td class="colFirst"><code>long</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a 
href="../../../../../org/apache/pulsar/client/api/ProducerStats.html#getTotalBytesSent--">getTotalBytesSent</a></span>()</code>&nbsp;</td>
+</tr>
+<tr id="i14" class="altColor">
+<td class="colFirst"><code>long</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a 
href="../../../../../org/apache/pulsar/client/api/ProducerStats.html#getTotalMsgsSent--">getTotalMsgsSent</a></span>()</code>&nbsp;</td>
+</tr>
+<tr id="i15" class="rowColor">
+<td class="colFirst"><code>long</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a 
href="../../../../../org/apache/pulsar/client/api/ProducerStats.html#getTotalSendFailed--">getTotalSendFailed</a></span>()</code>&nbsp;</td>
+</tr>
+</table>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+<div class="details">
+<ul class="blockList">
+<li class="blockList">
+<!-- ============ METHOD DETAIL ========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.detail">
+<!--   -->
+</a>
+<h3>Method Detail</h3>
+<a name="getNumMsgsSent--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getNumMsgsSent</h4>
+<pre>long&nbsp;getNumMsgsSent()</pre>
+<dl>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>the number of messages published in the last interval</dd>
+</dl>
+</li>
+</ul>
+<a name="getNumBytesSent--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getNumBytesSent</h4>
+<pre>long&nbsp;getNumBytesSent()</pre>
+<dl>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>the number of bytes sent in the last interval</dd>
+</dl>
+</li>
+</ul>
+<a name="getNumSendFailed--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getNumSendFailed</h4>
+<pre>long&nbsp;getNumSendFailed()</pre>
+<dl>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>the number of failed send operations in the last interval</dd>
+</dl>
+</li>
+</ul>
+<a name="getNumAcksReceived--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getNumAcksReceived</h4>
+<pre>long&nbsp;getNumAcksReceived()</pre>
+<dl>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>the number of send acknowledges received by broker in the last 
interval</dd>
+</dl>
+</li>
+</ul>
+<a name="getSendMsgsRate--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getSendMsgsRate</h4>
+<pre>double&nbsp;getSendMsgsRate()</pre>
+<dl>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>the messages send rate in the last interval</dd>
+</dl>
+</li>
+</ul>
+<a name="getSendBytesRate--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getSendBytesRate</h4>
+<pre>double&nbsp;getSendBytesRate()</pre>
+<dl>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>the bytes send rate in the last interval</dd>
+</dl>
+</li>
+</ul>
+<a name="getSendLatencyMillis50pct--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getSendLatencyMillis50pct</h4>
+<pre>double&nbsp;getSendLatencyMillis50pct()</pre>
+<dl>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>the 50th percentile of the send latency in milliseconds for the last 
interval</dd>
+</dl>
+</li>
+</ul>
+<a name="getSendLatencyMillis75pct--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getSendLatencyMillis75pct</h4>
+<pre>double&nbsp;getSendLatencyMillis75pct()</pre>
+<dl>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>the 75th percentile of the send latency in milliseconds for the last 
interval</dd>
+</dl>
+</li>
+</ul>
+<a name="getSendLatencyMillis95pct--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getSendLatencyMillis95pct</h4>
+<pre>double&nbsp;getSendLatencyMillis95pct()</pre>
+<dl>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>the 95th percentile of the send latency in milliseconds for the last 
interval</dd>
+</dl>
+</li>
+</ul>
+<a name="getSendLatencyMillis99pct--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getSendLatencyMillis99pct</h4>
+<pre>double&nbsp;getSendLatencyMillis99pct()</pre>
+<dl>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>the 99th percentile of the send latency in milliseconds for the last 
interval</dd>
+</dl>
+</li>
+</ul>
+<a name="getSendLatencyMillis999pct--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getSendLatencyMillis999pct</h4>
+<pre>double&nbsp;getSendLatencyMillis999pct()</pre>
+<dl>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>the 99.9th percentile of the send latency in milliseconds for the last 
interval</dd>
+</dl>
+</li>
+</ul>
+<a name="getSendLatencyMillisMax--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getSendLatencyMillisMax</h4>
+<pre>double&nbsp;getSendLatencyMillisMax()</pre>
+<dl>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>the max send latency in milliseconds for the last interval</dd>
+</dl>
+</li>
+</ul>
+<a name="getTotalMsgsSent--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getTotalMsgsSent</h4>
+<pre>long&nbsp;getTotalMsgsSent()</pre>
+<dl>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>the total number of messages published by this producer</dd>
+</dl>
+</li>
+</ul>
+<a name="getTotalBytesSent--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getTotalBytesSent</h4>
+<pre>long&nbsp;getTotalBytesSent()</pre>
+<dl>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>the total number of bytes sent by this producer</dd>
+</dl>
+</li>
+</ul>
+<a name="getTotalSendFailed--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getTotalSendFailed</h4>
+<pre>long&nbsp;getTotalSendFailed()</pre>
+<dl>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>the total number of failed send operations</dd>
+</dl>
+</li>
+</ul>
+<a name="getTotalAcksReceived--">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>getTotalAcksReceived</h4>
+<pre>long&nbsp;getTotalAcksReceived()</pre>
+<dl>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>the total number of send acknowledges received by broker</dd>
+</dl>
+</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+</div>
+<!-- ========= END OF CLASS DATA ========= -->
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation 
links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a 
href="../../../../../org/apache/pulsar/client/api/ProducerCryptoFailureAction.html"
 title="enum in org.apache.pulsar.client.api"><span 
class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../../org/apache/pulsar/client/api/PulsarClient.html" 
title="interface in org.apache.pulsar.client.api"><span 
class="typeNameLink">Next&nbsp;Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a 
href="../../../../../index.html?org/apache/pulsar/client/api/ProducerStats.html"
 target="_top">Frames</a></li>
+<li><a href="ProducerStats.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li>Nested&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li>Constr&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li>Constr&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+</body>
+</html>
diff --git a/content/api/client/org/apache/pulsar/client/api/PulsarClient.html 
b/content/api/client/org/apache/pulsar/client/api/PulsarClient.html
index 7f68413..bd4927a 100644
--- a/content/api/client/org/apache/pulsar/client/api/PulsarClient.html
+++ b/content/api/client/org/apache/pulsar/client/api/PulsarClient.html
@@ -47,7 +47,7 @@ var activeTableTab = "activeTableTab";
 </div>
 <div class="subNav">
 <ul class="navList">
-<li><a 
href="../../../../../org/apache/pulsar/client/api/ProducerCryptoFailureAction.html"
 title="enum in org.apache.pulsar.client.api"><span 
class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../../org/apache/pulsar/client/api/ProducerStats.html" 
title="interface in org.apache.pulsar.client.api"><span 
class="typeNameLink">Prev&nbsp;Class</span></a></li>
 <li><a 
href="../../../../../org/apache/pulsar/client/api/PulsarClientException.html" 
title="class in org.apache.pulsar.client.api"><span 
class="typeNameLink">Next&nbsp;Class</span></a></li>
 </ul>
 <ul class="navList">
@@ -828,7 +828,7 @@ CompletableFuture&lt;<a 
href="../../../../../org/apache/pulsar/client/api/Reader
 </div>
 <div class="subNav">
 <ul class="navList">
-<li><a 
href="../../../../../org/apache/pulsar/client/api/ProducerCryptoFailureAction.html"
 title="enum in org.apache.pulsar.client.api"><span 
class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../../org/apache/pulsar/client/api/ProducerStats.html" 
title="interface in org.apache.pulsar.client.api"><span 
class="typeNameLink">Prev&nbsp;Class</span></a></li>
 <li><a 
href="../../../../../org/apache/pulsar/client/api/PulsarClientException.html" 
title="class in org.apache.pulsar.client.api"><span 
class="typeNameLink">Next&nbsp;Class</span></a></li>
 </ul>
 <ul class="navList">
diff --git a/content/api/client/org/apache/pulsar/client/api/package-frame.html 
b/content/api/client/org/apache/pulsar/client/api/package-frame.html
index 31be052..d8587e5 100644
--- a/content/api/client/org/apache/pulsar/client/api/package-frame.html
+++ b/content/api/client/org/apache/pulsar/client/api/package-frame.html
@@ -18,6 +18,7 @@
 <li><a href="Consumer.html" title="interface in org.apache.pulsar.client.api" 
target="classFrame"><span class="interfaceName">Consumer</span></a></li>
 <li><a href="ConsumerBuilder.html" title="interface in 
org.apache.pulsar.client.api" target="classFrame"><span 
class="interfaceName">ConsumerBuilder</span></a></li>
 <li><a href="ConsumerEventListener.html" title="interface in 
org.apache.pulsar.client.api" target="classFrame"><span 
class="interfaceName">ConsumerEventListener</span></a></li>
+<li><a href="ConsumerStats.html" title="interface in 
org.apache.pulsar.client.api" target="classFrame"><span 
class="interfaceName">ConsumerStats</span></a></li>
 <li><a href="CryptoKeyReader.html" title="interface in 
org.apache.pulsar.client.api" target="classFrame"><span 
class="interfaceName">CryptoKeyReader</span></a></li>
 <li><a href="EncodedAuthenticationParameterSupport.html" title="interface in 
org.apache.pulsar.client.api" target="classFrame"><span 
class="interfaceName">EncodedAuthenticationParameterSupport</span></a></li>
 <li><a href="Message.html" title="interface in org.apache.pulsar.client.api" 
target="classFrame"><span class="interfaceName">Message</span></a></li>
@@ -27,6 +28,7 @@
 <li><a href="MessageRouter.html" title="interface in 
org.apache.pulsar.client.api" target="classFrame"><span 
class="interfaceName">MessageRouter</span></a></li>
 <li><a href="Producer.html" title="interface in org.apache.pulsar.client.api" 
target="classFrame"><span class="interfaceName">Producer</span></a></li>
 <li><a href="ProducerBuilder.html" title="interface in 
org.apache.pulsar.client.api" target="classFrame"><span 
class="interfaceName">ProducerBuilder</span></a></li>
+<li><a href="ProducerStats.html" title="interface in 
org.apache.pulsar.client.api" target="classFrame"><span 
class="interfaceName">ProducerStats</span></a></li>
 <li><a href="PulsarClient.html" title="interface in 
org.apache.pulsar.client.api" target="classFrame"><span 
class="interfaceName">PulsarClient</span></a></li>
 <li><a href="Reader.html" title="interface in org.apache.pulsar.client.api" 
target="classFrame"><span class="interfaceName">Reader</span></a></li>
 <li><a href="ReaderBuilder.html" title="interface in 
org.apache.pulsar.client.api" target="classFrame"><span 
class="interfaceName">ReaderBuilder</span></a></li>
diff --git 
a/content/api/client/org/apache/pulsar/client/api/package-summary.html 
b/content/api/client/org/apache/pulsar/client/api/package-summary.html
index 5ff524d..ba66442 100644
--- a/content/api/client/org/apache/pulsar/client/api/package-summary.html
+++ b/content/api/client/org/apache/pulsar/client/api/package-summary.html
@@ -115,26 +115,32 @@
 </td>
 </tr>
 <tr class="altColor">
+<td class="colFirst"><a 
href="../../../../../org/apache/pulsar/client/api/ConsumerStats.html" 
title="interface in org.apache.pulsar.client.api">ConsumerStats</a></td>
+<td class="colLast">
+<div class="block">Consumer statistics recorded by client.</div>
+</td>
+</tr>
+<tr class="rowColor">
 <td class="colFirst"><a 
href="../../../../../org/apache/pulsar/client/api/CryptoKeyReader.html" 
title="interface in org.apache.pulsar.client.api">CryptoKeyReader</a></td>
 <td class="colLast">&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><a 
href="../../../../../org/apache/pulsar/client/api/EncodedAuthenticationParameterSupport.html"
 title="interface in 
org.apache.pulsar.client.api">EncodedAuthenticationParameterSupport</a></td>
 <td class="colLast">&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><a 
href="../../../../../org/apache/pulsar/client/api/Message.html" 
title="interface in org.apache.pulsar.client.api">Message</a>&lt;T&gt;</td>
 <td class="colLast">
 <div class="block">The message abstraction used in Pulsar.</div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><a 
href="../../../../../org/apache/pulsar/client/api/MessageBuilder.html" 
title="interface in 
org.apache.pulsar.client.api">MessageBuilder</a>&lt;T&gt;</td>
 <td class="colLast">
 <div class="block">Message builder factory.</div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><a 
href="../../../../../org/apache/pulsar/client/api/MessageId.html" 
title="interface in org.apache.pulsar.client.api">MessageId</a></td>
 <td class="colLast">
 <div class="block">Opaque unique identifier of a single message
@@ -143,28 +149,34 @@
  the message content in memory for an extended period of time.</div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><a 
href="../../../../../org/apache/pulsar/client/api/MessageListener.html" 
title="interface in 
org.apache.pulsar.client.api">MessageListener</a>&lt;T&gt;</td>
 <td class="colLast">
 <div class="block">A listener that will be called in order for every message 
received.</div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><a 
href="../../../../../org/apache/pulsar/client/api/MessageRouter.html" 
title="interface in org.apache.pulsar.client.api">MessageRouter</a></td>
 <td class="colLast">&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><a 
href="../../../../../org/apache/pulsar/client/api/Producer.html" 
title="interface in org.apache.pulsar.client.api">Producer</a>&lt;T&gt;</td>
 <td class="colLast">
 <div class="block">Producer object.</div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><a 
href="../../../../../org/apache/pulsar/client/api/ProducerBuilder.html" 
title="interface in 
org.apache.pulsar.client.api">ProducerBuilder</a>&lt;T&gt;</td>
 <td class="colLast">
 <div class="block"><a 
href="../../../../../org/apache/pulsar/client/api/ProducerBuilder.html" 
title="interface in 
org.apache.pulsar.client.api"><code>ProducerBuilder</code></a> is used to 
configure and create instances of <a 
href="../../../../../org/apache/pulsar/client/api/Producer.html" 
title="interface in 
org.apache.pulsar.client.api"><code>Producer</code></a>.</div>
 </td>
 </tr>
+<tr class="altColor">
+<td class="colFirst"><a 
href="../../../../../org/apache/pulsar/client/api/ProducerStats.html" 
title="interface in org.apache.pulsar.client.api">ProducerStats</a></td>
+<td class="colLast">
+<div class="block">Producer statistics recorded by client.</div>
+</td>
+</tr>
 <tr class="rowColor">
 <td class="colFirst"><a 
href="../../../../../org/apache/pulsar/client/api/PulsarClient.html" 
title="interface in org.apache.pulsar.client.api">PulsarClient</a></td>
 <td class="colLast">
diff --git a/content/api/client/org/apache/pulsar/client/api/package-tree.html 
b/content/api/client/org/apache/pulsar/client/api/package-tree.html
index 3a4af3f..081c835 100644
--- a/content/api/client/org/apache/pulsar/client/api/package-tree.html
+++ b/content/api/client/org/apache/pulsar/client/api/package-tree.html
@@ -173,9 +173,11 @@
 <li type="circle">org.apache.pulsar.client.api.<a 
href="../../../../../org/apache/pulsar/client/api/AuthenticationDataProvider.html"
 title="interface in org.apache.pulsar.client.api"><span 
class="typeNameLink">AuthenticationDataProvider</span></a></li>
 <li type="circle">org.apache.pulsar.client.api.<a 
href="../../../../../org/apache/pulsar/client/api/ClientBuilder.html" 
title="interface in org.apache.pulsar.client.api"><span 
class="typeNameLink">ClientBuilder</span></a> (also extends Cloneable)</li>
 <li type="circle">org.apache.pulsar.client.api.<a 
href="../../../../../org/apache/pulsar/client/api/ConsumerBuilder.html" 
title="interface in org.apache.pulsar.client.api"><span 
class="typeNameLink">ConsumerBuilder</span></a>&lt;T&gt; (also extends 
Cloneable)</li>
+<li type="circle">org.apache.pulsar.client.api.<a 
href="../../../../../org/apache/pulsar/client/api/ConsumerStats.html" 
title="interface in org.apache.pulsar.client.api"><span 
class="typeNameLink">ConsumerStats</span></a></li>
 <li type="circle">org.apache.pulsar.client.api.<a 
href="../../../../../org/apache/pulsar/client/api/MessageListener.html" 
title="interface in org.apache.pulsar.client.api"><span 
class="typeNameLink">MessageListener</span></a>&lt;T&gt;</li>
 <li type="circle">org.apache.pulsar.client.api.<a 
href="../../../../../org/apache/pulsar/client/api/MessageRouter.html" 
title="interface in org.apache.pulsar.client.api"><span 
class="typeNameLink">MessageRouter</span></a></li>
 <li type="circle">org.apache.pulsar.client.api.<a 
href="../../../../../org/apache/pulsar/client/api/ProducerBuilder.html" 
title="interface in org.apache.pulsar.client.api"><span 
class="typeNameLink">ProducerBuilder</span></a>&lt;T&gt; (also extends 
Cloneable)</li>
+<li type="circle">org.apache.pulsar.client.api.<a 
href="../../../../../org/apache/pulsar/client/api/ProducerStats.html" 
title="interface in org.apache.pulsar.client.api"><span 
class="typeNameLink">ProducerStats</span></a></li>
 <li type="circle">org.apache.pulsar.client.api.<a 
href="../../../../../org/apache/pulsar/client/api/ReaderBuilder.html" 
title="interface in org.apache.pulsar.client.api"><span 
class="typeNameLink">ReaderBuilder</span></a>&lt;T&gt; (also extends 
Cloneable)</li>
 <li type="circle">org.apache.pulsar.client.api.<a 
href="../../../../../org/apache/pulsar/client/api/ReaderListener.html" 
title="interface in org.apache.pulsar.client.api"><span 
class="typeNameLink">ReaderListener</span></a>&lt;T&gt;</li>
 </ul>
diff --git a/content/api/client/overview-tree.html 
b/content/api/client/overview-tree.html
index 863639c..20735a5 100644
--- a/content/api/client/overview-tree.html
+++ b/content/api/client/overview-tree.html
@@ -181,9 +181,11 @@
 <li type="circle">org.apache.pulsar.client.api.<a 
href="org/apache/pulsar/client/api/AuthenticationDataProvider.html" 
title="interface in org.apache.pulsar.client.api"><span 
class="typeNameLink">AuthenticationDataProvider</span></a></li>
 <li type="circle">org.apache.pulsar.client.api.<a 
href="org/apache/pulsar/client/api/ClientBuilder.html" title="interface in 
org.apache.pulsar.client.api"><span 
class="typeNameLink">ClientBuilder</span></a> (also extends Cloneable)</li>
 <li type="circle">org.apache.pulsar.client.api.<a 
href="org/apache/pulsar/client/api/ConsumerBuilder.html" title="interface in 
org.apache.pulsar.client.api"><span 
class="typeNameLink">ConsumerBuilder</span></a>&lt;T&gt; (also extends 
Cloneable)</li>
+<li type="circle">org.apache.pulsar.client.api.<a 
href="org/apache/pulsar/client/api/ConsumerStats.html" title="interface in 
org.apache.pulsar.client.api"><span 
class="typeNameLink">ConsumerStats</span></a></li>
 <li type="circle">org.apache.pulsar.client.api.<a 
href="org/apache/pulsar/client/api/MessageListener.html" title="interface in 
org.apache.pulsar.client.api"><span 
class="typeNameLink">MessageListener</span></a>&lt;T&gt;</li>
 <li type="circle">org.apache.pulsar.client.api.<a 
href="org/apache/pulsar/client/api/MessageRouter.html" title="interface in 
org.apache.pulsar.client.api"><span 
class="typeNameLink">MessageRouter</span></a></li>
 <li type="circle">org.apache.pulsar.client.api.<a 
href="org/apache/pulsar/client/api/ProducerBuilder.html" title="interface in 
org.apache.pulsar.client.api"><span 
class="typeNameLink">ProducerBuilder</span></a>&lt;T&gt; (also extends 
Cloneable)</li>
+<li type="circle">org.apache.pulsar.client.api.<a 
href="org/apache/pulsar/client/api/ProducerStats.html" title="interface in 
org.apache.pulsar.client.api"><span 
class="typeNameLink">ProducerStats</span></a></li>
 <li type="circle">org.apache.pulsar.client.api.<a 
href="org/apache/pulsar/client/api/ReaderBuilder.html" title="interface in 
org.apache.pulsar.client.api"><span 
class="typeNameLink">ReaderBuilder</span></a>&lt;T&gt; (also extends 
Cloneable)</li>
 <li type="circle">org.apache.pulsar.client.api.<a 
href="org/apache/pulsar/client/api/ReaderListener.html" title="interface in 
org.apache.pulsar.client.api"><span 
class="typeNameLink">ReaderListener</span></a>&lt;T&gt;</li>
 </ul>

-- 
To stop receiving notification emails like this one, please contact
mme...@apache.org.

Reply via email to