You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@bookkeeper.apache.org by gi...@apache.org on 2018/03/15 07:01:32 UTC

[bookkeeper] branch asf-site updated: Updated site at revision 3bff199

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

git-site-role pushed a commit to branch asf-site
in repository https://gitbox.apache.org/repos/asf/bookkeeper.git


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

commit 3d7789cd371443fd0193d165780ede027e7dc6cb
Author: jenkins <bu...@apache.org>
AuthorDate: Thu Mar 15 07:01:30 2018 +0000

    Updated site at revision 3bff199
---
 .../docs/latest/api/javadoc/allclasses-frame.html  |   8 +-
 .../latest/api/javadoc/allclasses-noframe.html     |   8 +-
 content/docs/latest/api/javadoc/index-all.html     |  96 +++--
 .../org/apache/bookkeeper/stats/Counter.html       |   2 +-
 .../org/apache/bookkeeper/stats/OpStatsLogger.html |   2 +-
 .../apache/bookkeeper/stats/class-use/Counter.html |  19 +-
 .../apache/bookkeeper/stats/class-use/Gauge.html   |  11 +
 .../bookkeeper/stats/class-use/OpStatsData.html    |   2 +-
 .../bookkeeper/stats/class-use/OpStatsLogger.html  |   4 +-
 .../prometheus/DataSketchesOpStatsLogger.html      | 454 +++++++++++++++++++++
 ...sMetricsProvider.html => LongAdderCounter.html} | 147 ++++---
 .../prometheus/PrometheusMetricsProvider.html      | 128 +++++-
 ...MetricsProvider.html => PrometheusServlet.html} | 152 +++----
 .../stats/prometheus/PrometheusStatsLogger.html    |  14 +-
 ...Provider.html => PrometheusTextFormatUtil.html} | 141 ++++---
 ...etheusMetricsProvider.html => SimpleGauge.html} | 115 ++----
 .../class-use/DataSketchesOpStatsLogger.html       | 182 +++++++++
 ...sMetricsProvider.html => LongAdderCounter.html} |  62 ++-
 .../class-use/PrometheusMetricsProvider.html       |  46 ++-
 ...MetricsProvider.html => PrometheusServlet.html} |  20 +-
 ...Provider.html => PrometheusTextFormatUtil.html} |  20 +-
 .../stats/prometheus/class-use/SimpleGauge.html    | 182 +++++++++
 .../bookkeeper/stats/prometheus/package-frame.html |   8 +-
 .../stats/prometheus/package-summary.html          |  28 +-
 .../bookkeeper/stats/prometheus/package-tree.html  |  16 +-
 .../bookkeeper/stats/prometheus/package-use.html   |  54 ++-
 content/docs/latest/api/javadoc/overview-tree.html |  16 +-
 .../docs/latest/api/javadoc/serialized-form.html   |  14 +
 28 files changed, 1558 insertions(+), 393 deletions(-)

diff --git a/content/docs/latest/api/javadoc/allclasses-frame.html b/content/docs/latest/api/javadoc/allclasses-frame.html
index 9884b7d..7c5dac3 100644
--- a/content/docs/latest/api/javadoc/allclasses-frame.html
+++ b/content/docs/latest/api/javadoc/allclasses-frame.html
@@ -99,6 +99,7 @@
 <li><a href="org/apache/bookkeeper/stats/twitter/science/CounterImpl.html" title="class in org.apache.bookkeeper.stats.twitter.science" target="classFrame">CounterImpl</a></li>
 <li><a href="org/apache/bookkeeper/client/api/CreateAdvBuilder.html" title="interface in org.apache.bookkeeper.client.api" target="classFrame"><span class="interfaceName">CreateAdvBuilder</span></a></li>
 <li><a href="org/apache/bookkeeper/client/api/CreateBuilder.html" title="interface in org.apache.bookkeeper.client.api" target="classFrame"><span class="interfaceName">CreateBuilder</span></a></li>
+<li><a href="org/apache/bookkeeper/stats/prometheus/DataSketchesOpStatsLogger.html" title="class in org.apache.bookkeeper.stats.prometheus" target="classFrame">DataSketchesOpStatsLogger</a></li>
 <li><a href="org/apache/bookkeeper/client/DefaultEnsemblePlacementPolicy.html" title="class in org.apache.bookkeeper.client" target="classFrame">DefaultEnsemblePlacementPolicy</a></li>
 <li><a href="org/apache/bookkeeper/client/DefaultSpeculativeRequestExecutionPolicy.html" title="class in org.apache.bookkeeper.client" target="classFrame">DefaultSpeculativeRequestExecutionPolicy</a></li>
 <li><a href="org/apache/bookkeeper/client/api/DeleteBuilder.html" title="interface in org.apache.bookkeeper.client.api" target="classFrame"><span class="interfaceName">DeleteBuilder</span></a></li>
@@ -159,6 +160,7 @@
 <li><a href="org/apache/bookkeeper/client/LedgerReader.ReadResult.html" title="class in org.apache.bookkeeper.client" target="classFrame">LedgerReader.ReadResult</a></li>
 <li><a href="org/apache/bookkeeper/client/LedgerRecoveryOp.html" title="class in org.apache.bookkeeper.client" target="classFrame">LedgerRecoveryOp</a></li>
 <li><a href="org/apache/bookkeeper/client/ListenerBasedPendingReadOp.html" title="class in org.apache.bookkeeper.client" target="classFrame">ListenerBasedPendingReadOp</a></li>
+<li><a href="org/apache/bookkeeper/stats/prometheus/LongAdderCounter.html" title="class in org.apache.bookkeeper.stats.prometheus" target="classFrame">LongAdderCounter</a></li>
 <li><a href="org/apache/bookkeeper/stats/NullStatsLogger.html" title="class in org.apache.bookkeeper.stats" target="classFrame">NullStatsLogger</a></li>
 <li><a href="org/apache/bookkeeper/stats/NullStatsLogger.NullCounter.html" title="class in org.apache.bookkeeper.stats" target="classFrame">NullStatsLogger.NullCounter</a></li>
 <li><a href="org/apache/bookkeeper/stats/NullStatsLogger.NullOpStatsLogger.html" title="class in org.apache.bookkeeper.stats" target="classFrame">NullStatsLogger.NullOpStatsLogger</a></li>
@@ -177,11 +179,10 @@
 <li><a href="org/apache/bookkeeper/client/PendingReadLacOp.LacCallback.html" title="interface in org.apache.bookkeeper.client" target="classFrame"><span class="interfaceName">PendingReadLacOp.LacCallback</span></a></li>
 <li><a href="org/apache/bookkeeper/client/PendingReadOp.html" title="class in org.apache.bookkeeper.client" target="classFrame">PendingReadOp</a></li>
 <li><a href="org/apache/bookkeeper/client/PendingWriteLacOp.html" title="class in org.apache.bookkeeper.client" target="classFrame">PendingWriteLacOp</a></li>
-<li><a href="org/apache/bookkeeper/stats/prometheus/PrometheusCounter.html" title="class in org.apache.bookkeeper.stats.prometheus" target="classFrame">PrometheusCounter</a></li>
 <li><a href="org/apache/bookkeeper/stats/prometheus/PrometheusMetricsProvider.html" title="class in org.apache.bookkeeper.stats.prometheus" target="classFrame">PrometheusMetricsProvider</a></li>
-<li><a href="org/apache/bookkeeper/stats/prometheus/PrometheusOpStatsLogger.html" title="class in org.apache.bookkeeper.stats.prometheus" target="classFrame">PrometheusOpStatsLogger</a></li>
+<li><a href="org/apache/bookkeeper/stats/prometheus/PrometheusServlet.html" title="class in org.apache.bookkeeper.stats.prometheus" target="classFrame">PrometheusServlet</a></li>
 <li><a href="org/apache/bookkeeper/stats/prometheus/PrometheusStatsLogger.html" title="class in org.apache.bookkeeper.stats.prometheus" target="classFrame">PrometheusStatsLogger</a></li>
-<li><a href="org/apache/bookkeeper/stats/prometheus/PrometheusUtil.html" title="class in org.apache.bookkeeper.stats.prometheus" target="classFrame">PrometheusUtil</a></li>
+<li><a href="org/apache/bookkeeper/stats/prometheus/PrometheusTextFormatUtil.html" title="class in org.apache.bookkeeper.stats.prometheus" target="classFrame">PrometheusTextFormatUtil</a></li>
 <li><a href="org/apache/bookkeeper/client/RackawareEnsemblePlacementPolicy.html" title="class in org.apache.bookkeeper.client" target="classFrame">RackawareEnsemblePlacementPolicy</a></li>
 <li><a href="org/apache/bookkeeper/client/RackawareEnsemblePlacementPolicyImpl.html" title="class in org.apache.bookkeeper.client" target="classFrame">RackawareEnsemblePlacementPolicyImpl</a></li>
 <li><a href="org/apache/bookkeeper/client/RackawareEnsemblePlacementPolicyImpl.DefaultResolver.html" title="class in org.apache.bookkeeper.client" target="classFrame">RackawareEnsemblePlacementPolicyImpl.DefaultResolver</a></li>
@@ -198,6 +199,7 @@
 <li><a href="org/apache/bookkeeper/conf/ServerConfiguration.html" title="class in org.apache.bookkeeper.conf" target="classFrame">ServerConfiguration</a></li>
 <li><a href="org/apache/bookkeeper/feature/SettableFeature.html" title="class in org.apache.bookkeeper.feature" target="classFrame">SettableFeature</a></li>
 <li><a href="org/apache/bookkeeper/feature/SettableFeatureProvider.html" title="class in org.apache.bookkeeper.feature" target="classFrame">SettableFeatureProvider</a></li>
+<li><a href="org/apache/bookkeeper/stats/prometheus/SimpleGauge.html" title="class in org.apache.bookkeeper.stats.prometheus" target="classFrame">SimpleGauge</a></li>
 <li><a href="org/apache/bookkeeper/client/SpeculativeRequestExecutionPolicy.html" title="interface in org.apache.bookkeeper.client" target="classFrame"><span class="interfaceName">SpeculativeRequestExecutionPolicy</span></a></li>
 <li><a href="org/apache/bookkeeper/client/SpeculativeRequestExecutor.html" title="interface in org.apache.bookkeeper.client" target="classFrame"><span class="interfaceName">SpeculativeRequestExecutor</span></a></li>
 <li><a href="org/apache/bookkeeper/stats/Stats.html" title="class in org.apache.bookkeeper.stats" target="classFrame">Stats</a></li>
diff --git a/content/docs/latest/api/javadoc/allclasses-noframe.html b/content/docs/latest/api/javadoc/allclasses-noframe.html
index f6692da..53354ec 100644
--- a/content/docs/latest/api/javadoc/allclasses-noframe.html
+++ b/content/docs/latest/api/javadoc/allclasses-noframe.html
@@ -99,6 +99,7 @@
 <li><a href="org/apache/bookkeeper/stats/twitter/science/CounterImpl.html" title="class in org.apache.bookkeeper.stats.twitter.science">CounterImpl</a></li>
 <li><a href="org/apache/bookkeeper/client/api/CreateAdvBuilder.html" title="interface in org.apache.bookkeeper.client.api"><span class="interfaceName">CreateAdvBuilder</span></a></li>
 <li><a href="org/apache/bookkeeper/client/api/CreateBuilder.html" title="interface in org.apache.bookkeeper.client.api"><span class="interfaceName">CreateBuilder</span></a></li>
+<li><a href="org/apache/bookkeeper/stats/prometheus/DataSketchesOpStatsLogger.html" title="class in org.apache.bookkeeper.stats.prometheus">DataSketchesOpStatsLogger</a></li>
 <li><a href="org/apache/bookkeeper/client/DefaultEnsemblePlacementPolicy.html" title="class in org.apache.bookkeeper.client">DefaultEnsemblePlacementPolicy</a></li>
 <li><a href="org/apache/bookkeeper/client/DefaultSpeculativeRequestExecutionPolicy.html" title="class in org.apache.bookkeeper.client">DefaultSpeculativeRequestExecutionPolicy</a></li>
 <li><a href="org/apache/bookkeeper/client/api/DeleteBuilder.html" title="interface in org.apache.bookkeeper.client.api"><span class="interfaceName">DeleteBuilder</span></a></li>
@@ -159,6 +160,7 @@
 <li><a href="org/apache/bookkeeper/client/LedgerReader.ReadResult.html" title="class in org.apache.bookkeeper.client">LedgerReader.ReadResult</a></li>
 <li><a href="org/apache/bookkeeper/client/LedgerRecoveryOp.html" title="class in org.apache.bookkeeper.client">LedgerRecoveryOp</a></li>
 <li><a href="org/apache/bookkeeper/client/ListenerBasedPendingReadOp.html" title="class in org.apache.bookkeeper.client">ListenerBasedPendingReadOp</a></li>
+<li><a href="org/apache/bookkeeper/stats/prometheus/LongAdderCounter.html" title="class in org.apache.bookkeeper.stats.prometheus">LongAdderCounter</a></li>
 <li><a href="org/apache/bookkeeper/stats/NullStatsLogger.html" title="class in org.apache.bookkeeper.stats">NullStatsLogger</a></li>
 <li><a href="org/apache/bookkeeper/stats/NullStatsLogger.NullCounter.html" title="class in org.apache.bookkeeper.stats">NullStatsLogger.NullCounter</a></li>
 <li><a href="org/apache/bookkeeper/stats/NullStatsLogger.NullOpStatsLogger.html" title="class in org.apache.bookkeeper.stats">NullStatsLogger.NullOpStatsLogger</a></li>
@@ -177,11 +179,10 @@
 <li><a href="org/apache/bookkeeper/client/PendingReadLacOp.LacCallback.html" title="interface in org.apache.bookkeeper.client"><span class="interfaceName">PendingReadLacOp.LacCallback</span></a></li>
 <li><a href="org/apache/bookkeeper/client/PendingReadOp.html" title="class in org.apache.bookkeeper.client">PendingReadOp</a></li>
 <li><a href="org/apache/bookkeeper/client/PendingWriteLacOp.html" title="class in org.apache.bookkeeper.client">PendingWriteLacOp</a></li>
-<li><a href="org/apache/bookkeeper/stats/prometheus/PrometheusCounter.html" title="class in org.apache.bookkeeper.stats.prometheus">PrometheusCounter</a></li>
 <li><a href="org/apache/bookkeeper/stats/prometheus/PrometheusMetricsProvider.html" title="class in org.apache.bookkeeper.stats.prometheus">PrometheusMetricsProvider</a></li>
-<li><a href="org/apache/bookkeeper/stats/prometheus/PrometheusOpStatsLogger.html" title="class in org.apache.bookkeeper.stats.prometheus">PrometheusOpStatsLogger</a></li>
+<li><a href="org/apache/bookkeeper/stats/prometheus/PrometheusServlet.html" title="class in org.apache.bookkeeper.stats.prometheus">PrometheusServlet</a></li>
 <li><a href="org/apache/bookkeeper/stats/prometheus/PrometheusStatsLogger.html" title="class in org.apache.bookkeeper.stats.prometheus">PrometheusStatsLogger</a></li>
-<li><a href="org/apache/bookkeeper/stats/prometheus/PrometheusUtil.html" title="class in org.apache.bookkeeper.stats.prometheus">PrometheusUtil</a></li>
+<li><a href="org/apache/bookkeeper/stats/prometheus/PrometheusTextFormatUtil.html" title="class in org.apache.bookkeeper.stats.prometheus">PrometheusTextFormatUtil</a></li>
 <li><a href="org/apache/bookkeeper/client/RackawareEnsemblePlacementPolicy.html" title="class in org.apache.bookkeeper.client">RackawareEnsemblePlacementPolicy</a></li>
 <li><a href="org/apache/bookkeeper/client/RackawareEnsemblePlacementPolicyImpl.html" title="class in org.apache.bookkeeper.client">RackawareEnsemblePlacementPolicyImpl</a></li>
 <li><a href="org/apache/bookkeeper/client/RackawareEnsemblePlacementPolicyImpl.DefaultResolver.html" title="class in org.apache.bookkeeper.client">RackawareEnsemblePlacementPolicyImpl.DefaultResolver</a></li>
@@ -198,6 +199,7 @@
 <li><a href="org/apache/bookkeeper/conf/ServerConfiguration.html" title="class in org.apache.bookkeeper.conf">ServerConfiguration</a></li>
 <li><a href="org/apache/bookkeeper/feature/SettableFeature.html" title="class in org.apache.bookkeeper.feature">SettableFeature</a></li>
 <li><a href="org/apache/bookkeeper/feature/SettableFeatureProvider.html" title="class in org.apache.bookkeeper.feature">SettableFeatureProvider</a></li>
+<li><a href="org/apache/bookkeeper/stats/prometheus/SimpleGauge.html" title="class in org.apache.bookkeeper.stats.prometheus">SimpleGauge</a></li>
 <li><a href="org/apache/bookkeeper/client/SpeculativeRequestExecutionPolicy.html" title="interface in org.apache.bookkeeper.client"><span class="interfaceName">SpeculativeRequestExecutionPolicy</span></a></li>
 <li><a href="org/apache/bookkeeper/client/SpeculativeRequestExecutor.html" title="interface in org.apache.bookkeeper.client"><span class="interfaceName">SpeculativeRequestExecutor</span></a></li>
 <li><a href="org/apache/bookkeeper/stats/Stats.html" title="class in org.apache.bookkeeper.stats">Stats</a></li>
diff --git a/content/docs/latest/api/javadoc/index-all.html b/content/docs/latest/api/javadoc/index-all.html
index cef971f..a3393fa 100644
--- a/content/docs/latest/api/javadoc/index-all.html
+++ b/content/docs/latest/api/javadoc/index-all.html
@@ -96,7 +96,7 @@
 </dd>
 <dt><span class="memberNameLink"><a href="org/apache/bookkeeper/stats/NullStatsLogger.NullCounter.html#add-long-">add(long)</a></span> - Method in class org.apache.bookkeeper.stats.<a href="org/apache/bookkeeper/stats/NullStatsLogger.NullCounter.html" title="class in org.apache.bookkeeper.stats">NullStatsLogger.NullCounter</a></dt>
 <dd>&nbsp;</dd>
-<dt><span class="memberNameLink"><a href="org/apache/bookkeeper/stats/prometheus/PrometheusCounter.html#add-long-">add(long)</a></span> - Method in class org.apache.bookkeeper.stats.prometheus.<a href="org/apache/bookkeeper/stats/prometheus/PrometheusCounter.html" title="class in org.apache.bookkeeper.stats.prometheus">PrometheusCounter</a></dt>
+<dt><span class="memberNameLink"><a href="org/apache/bookkeeper/stats/prometheus/LongAdderCounter.html#add-long-">add(long)</a></span> - Method in class org.apache.bookkeeper.stats.prometheus.<a href="org/apache/bookkeeper/stats/prometheus/LongAdderCounter.html" title="class in org.apache.bookkeeper.stats.prometheus">LongAdderCounter</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/bookkeeper/stats/twitter/finagle/CounterImpl.html#add-long-">add(long)</a></span> - Method in class org.apache.bookkeeper.stats.twitter.finagle.<a href="org/apache/bookkeeper/stats/twitter/finagle/CounterImpl.html" title="class in org.apache.bookkeeper.stats.twitter.finagle">CounterImpl</a></dt>
 <dd>&nbsp;</dd>
@@ -1055,9 +1055,9 @@
 <dd>
 <div class="block">Clear stats for this operation.</div>
 </dd>
-<dt><span class="memberNameLink"><a href="org/apache/bookkeeper/stats/prometheus/PrometheusCounter.html#clear--">clear()</a></span> - Method in class org.apache.bookkeeper.stats.prometheus.<a href="org/apache/bookkeeper/stats/prometheus/PrometheusCounter.html" title="class in org.apache.bookkeeper.stats.prometheus">PrometheusCounter</a></dt>
+<dt><span class="memberNameLink"><a href="org/apache/bookkeeper/stats/prometheus/DataSketchesOpStatsLogger.html#clear--">clear()</a></span> - Method in class org.apache.bookkeeper.stats.prometheus.<a href="org/apache/bookkeeper/stats/prometheus/DataSketchesOpStatsLogger.html" title="class in org.apache.bookkeeper.stats.prometheus">DataSketchesOpStatsLogger</a></dt>
 <dd>&nbsp;</dd>
-<dt><span class="memberNameLink"><a href="org/apache/bookkeeper/stats/prometheus/PrometheusOpStatsLogger.html#clear--">clear()</a></span> - Method in class org.apache.bookkeeper.stats.prometheus.<a href="org/apache/bookkeeper/stats/prometheus/PrometheusOpStatsLogger.html" title="class in org.apache.bookkeeper.stats.prometheus">PrometheusOpStatsLogger</a></dt>
+<dt><span class="memberNameLink"><a href="org/apache/bookkeeper/stats/prometheus/LongAdderCounter.html#clear--">clear()</a></span> - Method in class org.apache.bookkeeper.stats.prometheus.<a href="org/apache/bookkeeper/stats/prometheus/LongAdderCounter.html" title="class in org.apache.bookkeeper.stats.prometheus">LongAdderCounter</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/bookkeeper/stats/twitter/finagle/CounterImpl.html#clear--">clear()</a></span> - Method in class org.apache.bookkeeper.stats.twitter.finagle.<a href="org/apache/bookkeeper/stats/twitter/finagle/CounterImpl.html" title="class in org.apache.bookkeeper.stats.twitter.finagle">CounterImpl</a></dt>
 <dd>&nbsp;</dd>
@@ -1334,6 +1334,8 @@
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/bookkeeper/stats/CachingStatsLogger.html#counters">counters</a></span> - Variable in class org.apache.bookkeeper.stats.<a href="org/apache/bookkeeper/stats/CachingStatsLogger.html" title="class in org.apache.bookkeeper.stats">CachingStatsLogger</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/bookkeeper/stats/prometheus/PrometheusMetricsProvider.html#counters">counters</a></span> - Variable in class org.apache.bookkeeper.stats.prometheus.<a href="org/apache/bookkeeper/stats/prometheus/PrometheusMetricsProvider.html" title="class in org.apache.bookkeeper.stats.prometheus">PrometheusMetricsProvider</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/bookkeeper/client/PendingReadLacOp.html#coverageSet">coverageSet</a></span> - Variable in class org.apache.bookkeeper.client.<a href="org/apache/bookkeeper/client/PendingReadLacOp.html" title="class in org.apache.bookkeeper.client">PendingReadLacOp</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/bookkeeper/client/ReadLastConfirmedOp.html#coverageSet">coverageSet</a></span> - Variable in class org.apache.bookkeeper.client.<a href="org/apache/bookkeeper/client/ReadLastConfirmedOp.html" title="class in org.apache.bookkeeper.client">ReadLastConfirmedOp</a></dt>
@@ -1440,6 +1442,12 @@
 <dl>
 <dt><span class="memberNameLink"><a href="org/apache/bookkeeper/client/LedgerEntry.html#data">data</a></span> - Variable in class org.apache.bookkeeper.client.<a href="org/apache/bookkeeper/client/LedgerEntry.html" title="class in org.apache.bookkeeper.client">LedgerEntry</a></dt>
 <dd>&nbsp;</dd>
+<dt><a href="org/apache/bookkeeper/stats/prometheus/DataSketchesOpStatsLogger.html" title="class in org.apache.bookkeeper.stats.prometheus"><span class="typeNameLink">DataSketchesOpStatsLogger</span></a> - Class in <a href="org/apache/bookkeeper/stats/prometheus/package-summary.html">org.apache.bookkeeper.stats.prometheus</a></dt>
+<dd>
+<div class="block">OpStatsLogger implementation that uses DataSketches library to calculate the approximated latency quantiles.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/bookkeeper/stats/prometheus/DataSketchesOpStatsLogger.html#DataSketchesOpStatsLogger--">DataSketchesOpStatsLogger()</a></span> - Constructor for class org.apache.bookkeeper.stats.prometheus.<a href="org/apache/bookkeeper/stats/prometheus/DataSketchesOpStatsLogger.html" title="class in org.apache.bookkeeper.stats.prometheus">DataSketchesOpStatsLogger</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/bookkeeper/conf/ServerConfiguration.html#DEATH_WATCH_INTERVAL">DEATH_WATCH_INTERVAL</a></span> - Static variable in class org.apache.bookkeeper.conf.<a href="org/apache/bookkeeper/conf/ServerConfiguration.html" title="class in org.apache.bookkeeper.conf">ServerConfiguration</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/bookkeeper/client/SyncCounter.html#dec--">dec()</a></span> - Method in class org.apache.bookkeeper.client.<a href="org/apache/bookkeeper/client/SyncCounter.html" title="class in org.apache.bookkeeper.client">SyncCounter</a></dt>
@@ -1450,7 +1458,7 @@
 </dd>
 <dt><span class="memberNameLink"><a href="org/apache/bookkeeper/stats/NullStatsLogger.NullCounter.html#dec--">dec()</a></span> - Method in class org.apache.bookkeeper.stats.<a href="org/apache/bookkeeper/stats/NullStatsLogger.NullCounter.html" title="class in org.apache.bookkeeper.stats">NullStatsLogger.NullCounter</a></dt>
 <dd>&nbsp;</dd>
-<dt><span class="memberNameLink"><a href="org/apache/bookkeeper/stats/prometheus/PrometheusCounter.html#dec--">dec()</a></span> - Method in class org.apache.bookkeeper.stats.prometheus.<a href="org/apache/bookkeeper/stats/prometheus/PrometheusCounter.html" title="class in org.apache.bookkeeper.stats.prometheus">PrometheusCounter</a></dt>
+<dt><span class="memberNameLink"><a href="org/apache/bookkeeper/stats/prometheus/LongAdderCounter.html#dec--">dec()</a></span> - Method in class org.apache.bookkeeper.stats.prometheus.<a href="org/apache/bookkeeper/stats/prometheus/LongAdderCounter.html" title="class in org.apache.bookkeeper.stats.prometheus">LongAdderCounter</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/bookkeeper/stats/twitter/finagle/CounterImpl.html#dec--">dec()</a></span> - Method in class org.apache.bookkeeper.stats.twitter.finagle.<a href="org/apache/bookkeeper/stats/twitter/finagle/CounterImpl.html" title="class in org.apache.bookkeeper.stats.twitter.finagle">CounterImpl</a></dt>
 <dd>&nbsp;</dd>
@@ -1608,6 +1616,10 @@
  additional parameter which is the return code to hand to all the pending
  add ops.</div>
 </dd>
+<dt><span class="memberNameLink"><a href="org/apache/bookkeeper/stats/prometheus/PrometheusServlet.html#doGet-javax.servlet.http.HttpServletRequest-javax.servlet.http.HttpServletResponse-">doGet(HttpServletRequest, HttpServletResponse)</a></span> - Method in class org.apache.bookkeeper.stats.prometheus.<a href="org/apache/bookkeeper/stats/prometheus/PrometheusServlet.html" title="class in org.apache.bookkeeper.stats.prometheus">PrometheusServlet</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/bookkeeper/stats/prometheus/PrometheusServlet.html#doPost-javax.servlet.http.HttpServletRequest-javax.servlet.http.HttpServletResponse-">doPost(HttpServletRequest, HttpServletResponse)</a></span> - Method in class org.apache.bookkeeper.stats.prometheus.<a href="org/apache/bookkeeper/stats/prometheus/PrometheusServlet.html" title="class in org.apache.bookkeeper.stats.prometheus">PrometheusServlet</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/bookkeeper/client/LedgerOpenOp.html#doRecovery">doRecovery</a></span> - Variable in class org.apache.bookkeeper.client.<a href="org/apache/bookkeeper/client/LedgerOpenOp.html" title="class in org.apache.bookkeeper.client">LedgerOpenOp</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/bookkeeper/client/LedgerHandle.html#drainPendingAddsToErrorOut--">drainPendingAddsToErrorOut()</a></span> - Method in class org.apache.bookkeeper.client.<a href="org/apache/bookkeeper/client/LedgerHandle.html" title="class in org.apache.bookkeeper.client">LedgerHandle</a></dt>
@@ -1924,6 +1936,8 @@
 <dd>
 <div class="block">A guage is a value that has only one value at a specific point in time.</div>
 </dd>
+<dt><span class="memberNameLink"><a href="org/apache/bookkeeper/stats/prometheus/PrometheusMetricsProvider.html#gauges">gauges</a></span> - Variable in class org.apache.bookkeeper.stats.prometheus.<a href="org/apache/bookkeeper/stats/prometheus/PrometheusMetricsProvider.html" title="class in org.apache.bookkeeper.stats.prometheus">PrometheusMetricsProvider</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/bookkeeper/conf/ServerConfiguration.html#GC_OVERREPLICATED_LEDGER_WAIT_TIME">GC_OVERREPLICATED_LEDGER_WAIT_TIME</a></span> - Static variable in class org.apache.bookkeeper.conf.<a href="org/apache/bookkeeper/conf/ServerConfiguration.html" title="class in org.apache.bookkeeper.conf">ServerConfiguration</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/bookkeeper/conf/ServerConfiguration.html#GC_WAIT_TIME">GC_WAIT_TIME</a></span> - Static variable in class org.apache.bookkeeper.conf.<a href="org/apache/bookkeeper/conf/ServerConfiguration.html" title="class in org.apache.bookkeeper.conf">ServerConfiguration</a></dt>
@@ -1942,7 +1956,7 @@
 </dd>
 <dt><span class="memberNameLink"><a href="org/apache/bookkeeper/stats/NullStatsLogger.NullCounter.html#get--">get()</a></span> - Method in class org.apache.bookkeeper.stats.<a href="org/apache/bookkeeper/stats/NullStatsLogger.NullCounter.html" title="class in org.apache.bookkeeper.stats">NullStatsLogger.NullCounter</a></dt>
 <dd>&nbsp;</dd>
-<dt><span class="memberNameLink"><a href="org/apache/bookkeeper/stats/prometheus/PrometheusCounter.html#get--">get()</a></span> - Method in class org.apache.bookkeeper.stats.prometheus.<a href="org/apache/bookkeeper/stats/prometheus/PrometheusCounter.html" title="class in org.apache.bookkeeper.stats.prometheus">PrometheusCounter</a></dt>
+<dt><span class="memberNameLink"><a href="org/apache/bookkeeper/stats/prometheus/LongAdderCounter.html#get--">get()</a></span> - Method in class org.apache.bookkeeper.stats.prometheus.<a href="org/apache/bookkeeper/stats/prometheus/LongAdderCounter.html" title="class in org.apache.bookkeeper.stats.prometheus">LongAdderCounter</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/bookkeeper/stats/Stats.html#get--">get()</a></span> - Static method in class org.apache.bookkeeper.stats.<a href="org/apache/bookkeeper/stats/Stats.html" title="class in org.apache.bookkeeper.stats">Stats</a></dt>
 <dd>&nbsp;</dd>
@@ -2179,6 +2193,8 @@
 <dd>
 <div class="block">Return the configuration used by this object.</div>
 </dd>
+<dt><span class="memberNameLink"><a href="org/apache/bookkeeper/stats/prometheus/DataSketchesOpStatsLogger.html#getCount-boolean-">getCount(boolean)</a></span> - Method in class org.apache.bookkeeper.stats.prometheus.<a href="org/apache/bookkeeper/stats/prometheus/DataSketchesOpStatsLogger.html" title="class in org.apache.bookkeeper.stats.prometheus">DataSketchesOpStatsLogger</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/bookkeeper/stats/CachingStatsLogger.html#getCounter-java.lang.String-">getCounter(String)</a></span> - Method in class org.apache.bookkeeper.stats.<a href="org/apache/bookkeeper/stats/CachingStatsLogger.html" title="class in org.apache.bookkeeper.stats">CachingStatsLogger</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/bookkeeper/stats/codahale/CodahaleStatsLogger.html#getCounter-java.lang.String-">getCounter(String)</a></span> - Method in class org.apache.bookkeeper.stats.codahale.<a href="org/apache/bookkeeper/stats/codahale/CodahaleStatsLogger.html" title="class in org.apache.bookkeeper.stats.codahale">CodahaleStatsLogger</a></dt>
@@ -2943,6 +2959,8 @@
 </dd>
 <dt><span class="memberNameLink"><a href="org/apache/bookkeeper/client/BookKeeper.html#getPlacementPolicy--">getPlacementPolicy()</a></span> - Method in class org.apache.bookkeeper.client.<a href="org/apache/bookkeeper/client/BookKeeper.html" title="class in org.apache.bookkeeper.client">BookKeeper</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/bookkeeper/stats/prometheus/DataSketchesOpStatsLogger.html#getQuantileValue-boolean-double-">getQuantileValue(boolean, double)</a></span> - Method in class org.apache.bookkeeper.stats.prometheus.<a href="org/apache/bookkeeper/stats/prometheus/DataSketchesOpStatsLogger.html" title="class in org.apache.bookkeeper.stats.prometheus">DataSketchesOpStatsLogger</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/bookkeeper/client/LedgerHandle.LastConfirmedCtx.html#getRC--">getRC()</a></span> - Method in class org.apache.bookkeeper.client.<a href="org/apache/bookkeeper/client/LedgerHandle.LastConfirmedCtx.html" title="class in org.apache.bookkeeper.client">LedgerHandle.LastConfirmedCtx</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/bookkeeper/client/PendingReadOp.LedgerEntryRequest.html#getRc--">getRc()</a></span> - Method in class org.apache.bookkeeper.client.<a href="org/apache/bookkeeper/client/PendingReadOp.LedgerEntryRequest.html" title="class in org.apache.bookkeeper.client">PendingReadOp.LedgerEntryRequest</a></dt>
@@ -3051,6 +3069,8 @@
 </dd>
 <dt><span class="memberNameLink"><a href="org/apache/bookkeeper/stats/Gauge.html#getSample--">getSample()</a></span> - Method in interface org.apache.bookkeeper.stats.<a href="org/apache/bookkeeper/stats/Gauge.html" title="interface in org.apache.bookkeeper.stats">Gauge</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/bookkeeper/stats/prometheus/SimpleGauge.html#getSample--">getSample()</a></span> - Method in class org.apache.bookkeeper.stats.prometheus.<a href="org/apache/bookkeeper/stats/prometheus/SimpleGauge.html" title="class in org.apache.bookkeeper.stats.prometheus">SimpleGauge</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/bookkeeper/client/BookKeeper.html#getScheduler--">getScheduler()</a></span> - Method in class org.apache.bookkeeper.client.<a href="org/apache/bookkeeper/client/BookKeeper.html" title="class in org.apache.bookkeeper.client">BookKeeper</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/bookkeeper/client/SyncCounter.html#getSequence--">getSequence()</a></span> - Method in class org.apache.bookkeeper.client.<a href="org/apache/bookkeeper/client/SyncCounter.html" title="class in org.apache.bookkeeper.client">SyncCounter</a></dt>
@@ -3144,6 +3164,8 @@
 <div class="block">Return the flag that indicates whether client is using system time as the ledger creation time when
  creating ledgers.</div>
 </dd>
+<dt><span class="memberNameLink"><a href="org/apache/bookkeeper/stats/prometheus/DataSketchesOpStatsLogger.html#getSum-boolean-">getSum(boolean)</a></span> - Method in class org.apache.bookkeeper.stats.prometheus.<a href="org/apache/bookkeeper/stats/prometheus/DataSketchesOpStatsLogger.html" title="class in org.apache.bookkeeper.stats.prometheus">DataSketchesOpStatsLogger</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/bookkeeper/conf/ClientConfiguration.html#getTaskExecutionWarnTimeMicros--">getTaskExecutionWarnTimeMicros()</a></span> - Method in class org.apache.bookkeeper.conf.<a href="org/apache/bookkeeper/conf/ClientConfiguration.html" title="class in org.apache.bookkeeper.conf">ClientConfiguration</a></dt>
 <dd>
 <div class="block">Get task execution duration which triggers a warning.</div>
@@ -3447,7 +3469,7 @@
 </dd>
 <dt><span class="memberNameLink"><a href="org/apache/bookkeeper/stats/NullStatsLogger.NullCounter.html#inc--">inc()</a></span> - Method in class org.apache.bookkeeper.stats.<a href="org/apache/bookkeeper/stats/NullStatsLogger.NullCounter.html" title="class in org.apache.bookkeeper.stats">NullStatsLogger.NullCounter</a></dt>
 <dd>&nbsp;</dd>
-<dt><span class="memberNameLink"><a href="org/apache/bookkeeper/stats/prometheus/PrometheusCounter.html#inc--">inc()</a></span> - Method in class org.apache.bookkeeper.stats.prometheus.<a href="org/apache/bookkeeper/stats/prometheus/PrometheusCounter.html" title="class in org.apache.bookkeeper.stats.prometheus">PrometheusCounter</a></dt>
+<dt><span class="memberNameLink"><a href="org/apache/bookkeeper/stats/prometheus/LongAdderCounter.html#inc--">inc()</a></span> - Method in class org.apache.bookkeeper.stats.prometheus.<a href="org/apache/bookkeeper/stats/prometheus/LongAdderCounter.html" title="class in org.apache.bookkeeper.stats.prometheus">LongAdderCounter</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/bookkeeper/stats/twitter/finagle/CounterImpl.html#inc--">inc()</a></span> - Method in class org.apache.bookkeeper.stats.twitter.finagle.<a href="org/apache/bookkeeper/stats/twitter/finagle/CounterImpl.html" title="class in org.apache.bookkeeper.stats.twitter.finagle">CounterImpl</a></dt>
 <dd>&nbsp;</dd>
@@ -4206,6 +4228,12 @@
 </dd>
 <dt><span class="memberNameLink"><a href="org/apache/bookkeeper/client/ReadLastConfirmedAndEntryOp.SequenceReadRequest.html#logErrorAndReattemptRead-int-org.apache.bookkeeper.net.BookieSocketAddress-java.lang.String-int-">logErrorAndReattemptRead(int, BookieSocketAddress, String, int)</a></span> - Method in class org.apache.bookkeeper.client.<a href="org/apache/bookkeeper/client/ReadLastConfirmedAndEntryOp.SequenceReadRequest.html" title="class in org.apache.bookkeeper.client">ReadLastCo [...]
 <dd>&nbsp;</dd>
+<dt><a href="org/apache/bookkeeper/stats/prometheus/LongAdderCounter.html" title="class in org.apache.bookkeeper.stats.prometheus"><span class="typeNameLink">LongAdderCounter</span></a> - Class in <a href="org/apache/bookkeeper/stats/prometheus/package-summary.html">org.apache.bookkeeper.stats.prometheus</a></dt>
+<dd>
+<div class="block"><a href="org/apache/bookkeeper/stats/Counter.html" title="interface in org.apache.bookkeeper.stats"><code>Counter</code></a> implementation based on <a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/atomic/LongAdder.html?is-external=true" title="class or interface in java.util.concurrent.atomic"><code>LongAdder</code></a>.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/bookkeeper/stats/prometheus/LongAdderCounter.html#LongAdderCounter--">LongAdderCounter()</a></span> - Constructor for class org.apache.bookkeeper.stats.prometheus.<a href="org/apache/bookkeeper/stats/prometheus/LongAdderCounter.html" title="class in org.apache.bookkeeper.stats.prometheus">LongAdderCounter</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/bookkeeper/conf/ServerConfiguration.html#LOST_BOOKIE_RECOVERY_DELAY">LOST_BOOKIE_RECOVERY_DELAY</a></span> - Static variable in class org.apache.bookkeeper.conf.<a href="org/apache/bookkeeper/conf/ServerConfiguration.html" title="class in org.apache.bookkeeper.conf">ServerConfiguration</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/bookkeeper/client/LedgerMetadata.html#LOWEST_COMPAT_METADATA_FORMAT_VERSION">LOWEST_COMPAT_METADATA_FORMAT_VERSION</a></span> - Static variable in class org.apache.bookkeeper.client.<a href="org/apache/bookkeeper/client/LedgerMetadata.html" title="class in org.apache.bookkeeper.client">LedgerMetadata</a></dt>
@@ -4620,6 +4648,8 @@
 <dd>
 <div class="block">Implements Open Ledger Callback.</div>
 </dd>
+<dt><span class="memberNameLink"><a href="org/apache/bookkeeper/stats/prometheus/PrometheusMetricsProvider.html#opStats">opStats</a></span> - Variable in class org.apache.bookkeeper.stats.prometheus.<a href="org/apache/bookkeeper/stats/prometheus/PrometheusMetricsProvider.html" title="class in org.apache.bookkeeper.stats.prometheus">PrometheusMetricsProvider</a></dt>
+<dd>&nbsp;</dd>
 <dt><a href="org/apache/bookkeeper/stats/OpStatsData.html" title="class in org.apache.bookkeeper.stats"><span class="typeNameLink">OpStatsData</span></a> - Class in <a href="org/apache/bookkeeper/stats/package-summary.html">org.apache.bookkeeper.stats</a></dt>
 <dd>
 <div class="block">This class provides a read view of operation specific stats.</div>
@@ -4826,35 +4856,29 @@
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/bookkeeper/client/LedgerFragmentReplicator.SingleFragmentCallback.html#processResult-int-java.lang.String-java.lang.Object-">processResult(int, String, Object)</a></span> - Method in class org.apache.bookkeeper.client.<a href="org/apache/bookkeeper/client/LedgerFragmentReplicator.SingleFragmentCallback.html" title="class in org.apache.bookkeeper.client">LedgerFragmentReplicator.SingleFragmentCallback</a></dt>
 <dd>&nbsp;</dd>
-<dt><a href="org/apache/bookkeeper/stats/prometheus/PrometheusCounter.html" title="class in org.apache.bookkeeper.stats.prometheus"><span class="typeNameLink">PrometheusCounter</span></a> - Class in <a href="org/apache/bookkeeper/stats/prometheus/package-summary.html">org.apache.bookkeeper.stats.prometheus</a></dt>
-<dd>
-<div class="block">A <a href="org/apache/bookkeeper/stats/Counter.html" title="interface in org.apache.bookkeeper.stats"><code>Counter</code></a> implementation based on <i>Prometheus</i> metrics library.</div>
-</dd>
-<dt><span class="memberNameLink"><a href="org/apache/bookkeeper/stats/prometheus/PrometheusCounter.html#PrometheusCounter-io.prometheus.client.CollectorRegistry-java.lang.String-">PrometheusCounter(CollectorRegistry, String)</a></span> - Constructor for class org.apache.bookkeeper.stats.prometheus.<a href="org/apache/bookkeeper/stats/prometheus/PrometheusCounter.html" title="class in org.apache.bookkeeper.stats.prometheus">PrometheusCounter</a></dt>
-<dd>&nbsp;</dd>
 <dt><a href="org/apache/bookkeeper/stats/prometheus/PrometheusMetricsProvider.html" title="class in org.apache.bookkeeper.stats.prometheus"><span class="typeNameLink">PrometheusMetricsProvider</span></a> - Class in <a href="org/apache/bookkeeper/stats/prometheus/package-summary.html">org.apache.bookkeeper.stats.prometheus</a></dt>
 <dd>
 <div class="block">A <i>Prometheus</i> based <a href="org/apache/bookkeeper/stats/StatsProvider.html" title="interface in org.apache.bookkeeper.stats"><code>StatsProvider</code></a> implementation.</div>
 </dd>
 <dt><span class="memberNameLink"><a href="org/apache/bookkeeper/stats/prometheus/PrometheusMetricsProvider.html#PrometheusMetricsProvider--">PrometheusMetricsProvider()</a></span> - Constructor for class org.apache.bookkeeper.stats.prometheus.<a href="org/apache/bookkeeper/stats/prometheus/PrometheusMetricsProvider.html" title="class in org.apache.bookkeeper.stats.prometheus">PrometheusMetricsProvider</a></dt>
 <dd>&nbsp;</dd>
-<dt><a href="org/apache/bookkeeper/stats/prometheus/PrometheusOpStatsLogger.html" title="class in org.apache.bookkeeper.stats.prometheus"><span class="typeNameLink">PrometheusOpStatsLogger</span></a> - Class in <a href="org/apache/bookkeeper/stats/prometheus/package-summary.html">org.apache.bookkeeper.stats.prometheus</a></dt>
+<dt><a href="org/apache/bookkeeper/stats/prometheus/PrometheusServlet.html" title="class in org.apache.bookkeeper.stats.prometheus"><span class="typeNameLink">PrometheusServlet</span></a> - Class in <a href="org/apache/bookkeeper/stats/prometheus/package-summary.html">org.apache.bookkeeper.stats.prometheus</a></dt>
 <dd>
-<div class="block">A <code>Prometheus</code> based <a href="org/apache/bookkeeper/stats/OpStatsLogger.html" title="interface in org.apache.bookkeeper.stats"><code>OpStatsLogger</code></a> implementation.</div>
+<div class="block">Servlet used to export metrics in prometheus text format.</div>
 </dd>
-<dt><span class="memberNameLink"><a href="org/apache/bookkeeper/stats/prometheus/PrometheusOpStatsLogger.html#PrometheusOpStatsLogger-io.prometheus.client.CollectorRegistry-java.lang.String-">PrometheusOpStatsLogger(CollectorRegistry, String)</a></span> - Constructor for class org.apache.bookkeeper.stats.prometheus.<a href="org/apache/bookkeeper/stats/prometheus/PrometheusOpStatsLogger.html" title="class in org.apache.bookkeeper.stats.prometheus">PrometheusOpStatsLogger</a></dt>
+<dt><span class="memberNameLink"><a href="org/apache/bookkeeper/stats/prometheus/PrometheusServlet.html#PrometheusServlet-org.apache.bookkeeper.stats.prometheus.PrometheusMetricsProvider-">PrometheusServlet(PrometheusMetricsProvider)</a></span> - Constructor for class org.apache.bookkeeper.stats.prometheus.<a href="org/apache/bookkeeper/stats/prometheus/PrometheusServlet.html" title="class in org.apache.bookkeeper.stats.prometheus">PrometheusServlet</a></dt>
 <dd>&nbsp;</dd>
 <dt><a href="org/apache/bookkeeper/stats/prometheus/PrometheusStatsLogger.html" title="class in org.apache.bookkeeper.stats.prometheus"><span class="typeNameLink">PrometheusStatsLogger</span></a> - Class in <a href="org/apache/bookkeeper/stats/prometheus/package-summary.html">org.apache.bookkeeper.stats.prometheus</a></dt>
 <dd>
 <div class="block">A <code>Prometheus</code> based <a href="org/apache/bookkeeper/stats/StatsLogger.html" title="interface in org.apache.bookkeeper.stats"><code>StatsLogger</code></a> implementation.</div>
 </dd>
-<dt><span class="memberNameLink"><a href="org/apache/bookkeeper/stats/prometheus/PrometheusStatsLogger.html#PrometheusStatsLogger-io.prometheus.client.CollectorRegistry-java.lang.String-">PrometheusStatsLogger(CollectorRegistry, String)</a></span> - Constructor for class org.apache.bookkeeper.stats.prometheus.<a href="org/apache/bookkeeper/stats/prometheus/PrometheusStatsLogger.html" title="class in org.apache.bookkeeper.stats.prometheus">PrometheusStatsLogger</a></dt>
+<dt><span class="memberNameLink"><a href="org/apache/bookkeeper/stats/prometheus/PrometheusStatsLogger.html#PrometheusStatsLogger-org.apache.bookkeeper.stats.prometheus.PrometheusMetricsProvider-java.lang.String-">PrometheusStatsLogger(PrometheusMetricsProvider, String)</a></span> - Constructor for class org.apache.bookkeeper.stats.prometheus.<a href="org/apache/bookkeeper/stats/prometheus/PrometheusStatsLogger.html" title="class in org.apache.bookkeeper.stats.prometheus">PrometheusStats [...]
 <dd>&nbsp;</dd>
-<dt><a href="org/apache/bookkeeper/stats/prometheus/PrometheusUtil.html" title="class in org.apache.bookkeeper.stats.prometheus"><span class="typeNameLink">PrometheusUtil</span></a> - Class in <a href="org/apache/bookkeeper/stats/prometheus/package-summary.html">org.apache.bookkeeper.stats.prometheus</a></dt>
+<dt><a href="org/apache/bookkeeper/stats/prometheus/PrometheusTextFormatUtil.html" title="class in org.apache.bookkeeper.stats.prometheus"><span class="typeNameLink">PrometheusTextFormatUtil</span></a> - Class in <a href="org/apache/bookkeeper/stats/prometheus/package-summary.html">org.apache.bookkeeper.stats.prometheus</a></dt>
 <dd>
-<div class="block">Container for Prometheus utility methods.</div>
+<div class="block">Logic to write metrics in Prometheus text format.</div>
 </dd>
-<dt><span class="memberNameLink"><a href="org/apache/bookkeeper/stats/prometheus/PrometheusUtil.html#PrometheusUtil--">PrometheusUtil()</a></span> - Constructor for class org.apache.bookkeeper.stats.prometheus.<a href="org/apache/bookkeeper/stats/prometheus/PrometheusUtil.html" title="class in org.apache.bookkeeper.stats.prometheus">PrometheusUtil</a></dt>
+<dt><span class="memberNameLink"><a href="org/apache/bookkeeper/stats/prometheus/PrometheusTextFormatUtil.html#PrometheusTextFormatUtil--">PrometheusTextFormatUtil()</a></span> - Constructor for class org.apache.bookkeeper.stats.prometheus.<a href="org/apache/bookkeeper/stats/prometheus/PrometheusTextFormatUtil.html" title="class in org.apache.bookkeeper.stats.prometheus">PrometheusTextFormatUtil</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/bookkeeper/client/api/BKException.Code.html#ProtocolVersionException">ProtocolVersionException</a></span> - Static variable in interface org.apache.bookkeeper.client.api.<a href="org/apache/bookkeeper/client/api/BKException.Code.html" title="interface in org.apache.bookkeeper.client.api">BKException.Code</a></dt>
 <dd>
@@ -5210,7 +5234,7 @@
 <dd>
 <div class="block">Increment the failed op counter with the given eventLatency.</div>
 </dd>
-<dt><span class="memberNameLink"><a href="org/apache/bookkeeper/stats/prometheus/PrometheusOpStatsLogger.html#registerFailedEvent-long-java.util.concurrent.TimeUnit-">registerFailedEvent(long, TimeUnit)</a></span> - Method in class org.apache.bookkeeper.stats.prometheus.<a href="org/apache/bookkeeper/stats/prometheus/PrometheusOpStatsLogger.html" title="class in org.apache.bookkeeper.stats.prometheus">PrometheusOpStatsLogger</a></dt>
+<dt><span class="memberNameLink"><a href="org/apache/bookkeeper/stats/prometheus/DataSketchesOpStatsLogger.html#registerFailedEvent-long-java.util.concurrent.TimeUnit-">registerFailedEvent(long, TimeUnit)</a></span> - Method in class org.apache.bookkeeper.stats.prometheus.<a href="org/apache/bookkeeper/stats/prometheus/DataSketchesOpStatsLogger.html" title="class in org.apache.bookkeeper.stats.prometheus">DataSketchesOpStatsLogger</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/bookkeeper/stats/twitter/finagle/OpStatsLoggerImpl.html#registerFailedEvent-long-java.util.concurrent.TimeUnit-">registerFailedEvent(long, TimeUnit)</a></span> - Method in class org.apache.bookkeeper.stats.twitter.finagle.<a href="org/apache/bookkeeper/stats/twitter/finagle/OpStatsLoggerImpl.html" title="class in org.apache.bookkeeper.stats.twitter.finagle">OpStatsLoggerImpl</a></dt>
 <dd>&nbsp;</dd>
@@ -5230,7 +5254,7 @@
 <dd>
 <div class="block">An operation with the given value failed.</div>
 </dd>
-<dt><span class="memberNameLink"><a href="org/apache/bookkeeper/stats/prometheus/PrometheusOpStatsLogger.html#registerFailedValue-long-">registerFailedValue(long)</a></span> - Method in class org.apache.bookkeeper.stats.prometheus.<a href="org/apache/bookkeeper/stats/prometheus/PrometheusOpStatsLogger.html" title="class in org.apache.bookkeeper.stats.prometheus">PrometheusOpStatsLogger</a></dt>
+<dt><span class="memberNameLink"><a href="org/apache/bookkeeper/stats/prometheus/DataSketchesOpStatsLogger.html#registerFailedValue-long-">registerFailedValue(long)</a></span> - Method in class org.apache.bookkeeper.stats.prometheus.<a href="org/apache/bookkeeper/stats/prometheus/DataSketchesOpStatsLogger.html" title="class in org.apache.bookkeeper.stats.prometheus">DataSketchesOpStatsLogger</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/bookkeeper/stats/twitter/finagle/OpStatsLoggerImpl.html#registerFailedValue-long-">registerFailedValue(long)</a></span> - Method in class org.apache.bookkeeper.stats.twitter.finagle.<a href="org/apache/bookkeeper/stats/twitter/finagle/OpStatsLoggerImpl.html" title="class in org.apache.bookkeeper.stats.twitter.finagle">OpStatsLoggerImpl</a></dt>
 <dd>&nbsp;</dd>
@@ -5286,7 +5310,7 @@
 <dd>
 <div class="block">An operation succeeded with the given eventLatency.</div>
 </dd>
-<dt><span class="memberNameLink"><a href="org/apache/bookkeeper/stats/prometheus/PrometheusOpStatsLogger.html#registerSuccessfulEvent-long-java.util.concurrent.TimeUnit-">registerSuccessfulEvent(long, TimeUnit)</a></span> - Method in class org.apache.bookkeeper.stats.prometheus.<a href="org/apache/bookkeeper/stats/prometheus/PrometheusOpStatsLogger.html" title="class in org.apache.bookkeeper.stats.prometheus">PrometheusOpStatsLogger</a></dt>
+<dt><span class="memberNameLink"><a href="org/apache/bookkeeper/stats/prometheus/DataSketchesOpStatsLogger.html#registerSuccessfulEvent-long-java.util.concurrent.TimeUnit-">registerSuccessfulEvent(long, TimeUnit)</a></span> - Method in class org.apache.bookkeeper.stats.prometheus.<a href="org/apache/bookkeeper/stats/prometheus/DataSketchesOpStatsLogger.html" title="class in org.apache.bookkeeper.stats.prometheus">DataSketchesOpStatsLogger</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/bookkeeper/stats/twitter/finagle/OpStatsLoggerImpl.html#registerSuccessfulEvent-long-java.util.concurrent.TimeUnit-">registerSuccessfulEvent(long, TimeUnit)</a></span> - Method in class org.apache.bookkeeper.stats.twitter.finagle.<a href="org/apache/bookkeeper/stats/twitter/finagle/OpStatsLoggerImpl.html" title="class in org.apache.bookkeeper.stats.twitter.finagle">OpStatsLoggerImpl</a></dt>
 <dd>&nbsp;</dd>
@@ -5306,7 +5330,7 @@
 <dd>
 <div class="block">An operation with the given value succeeded.</div>
 </dd>
-<dt><span class="memberNameLink"><a href="org/apache/bookkeeper/stats/prometheus/PrometheusOpStatsLogger.html#registerSuccessfulValue-long-">registerSuccessfulValue(long)</a></span> - Method in class org.apache.bookkeeper.stats.prometheus.<a href="org/apache/bookkeeper/stats/prometheus/PrometheusOpStatsLogger.html" title="class in org.apache.bookkeeper.stats.prometheus">PrometheusOpStatsLogger</a></dt>
+<dt><span class="memberNameLink"><a href="org/apache/bookkeeper/stats/prometheus/DataSketchesOpStatsLogger.html#registerSuccessfulValue-long-">registerSuccessfulValue(long)</a></span> - Method in class org.apache.bookkeeper.stats.prometheus.<a href="org/apache/bookkeeper/stats/prometheus/DataSketchesOpStatsLogger.html" title="class in org.apache.bookkeeper.stats.prometheus">DataSketchesOpStatsLogger</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/bookkeeper/stats/twitter/finagle/OpStatsLoggerImpl.html#registerSuccessfulValue-long-">registerSuccessfulValue(long)</a></span> - Method in class org.apache.bookkeeper.stats.twitter.finagle.<a href="org/apache/bookkeeper/stats/twitter/finagle/OpStatsLoggerImpl.html" title="class in org.apache.bookkeeper.stats.twitter.finagle">OpStatsLoggerImpl</a></dt>
 <dd>&nbsp;</dd>
@@ -5318,6 +5342,8 @@
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/bookkeeper/conf/ServerConfiguration.html#REGISTRATION_MANAGER_CLASS">REGISTRATION_MANAGER_CLASS</a></span> - Static variable in class org.apache.bookkeeper.conf.<a href="org/apache/bookkeeper/conf/ServerConfiguration.html" title="class in org.apache.bookkeeper.conf">ServerConfiguration</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/bookkeeper/stats/prometheus/PrometheusMetricsProvider.html#registry">registry</a></span> - Variable in class org.apache.bookkeeper.stats.prometheus.<a href="org/apache/bookkeeper/stats/prometheus/PrometheusMetricsProvider.html" title="class in org.apache.bookkeeper.stats.prometheus">PrometheusMetricsProvider</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/bookkeeper/client/RackawareEnsemblePlacementPolicyImpl.DefaultResolver.html#reloadCachedMappings--">reloadCachedMappings()</a></span> - Method in class org.apache.bookkeeper.client.<a href="org/apache/bookkeeper/client/RackawareEnsemblePlacementPolicyImpl.DefaultResolver.html" title="class in org.apache.bookkeeper.client">RackawareEnsemblePlacementPolicyImpl.DefaultResolver</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/bookkeeper/client/RackawareEnsemblePlacementPolicyImpl.DNSResolverDecorator.html#reloadCachedMappings--">reloadCachedMappings()</a></span> - Method in class org.apache.bookkeeper.client.<a href="org/apache/bookkeeper/client/RackawareEnsemblePlacementPolicyImpl.DNSResolverDecorator.html" title="class in org.apache.bookkeeper.client">RackawareEnsemblePlacementPolicyImpl.DNSResolverDecorator</a></dt>
@@ -5497,6 +5523,10 @@
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/bookkeeper/client/BookKeeperAdmin.ResultCallBack.html#ResultCallBack-java.util.concurrent.CompletableFuture-">ResultCallBack(CompletableFuture&lt;Void&gt;)</a></span> - Constructor for class org.apache.bookkeeper.client.<a href="org/apache/bookkeeper/client/BookKeeperAdmin.ResultCallBack.html" title="class in org.apache.bookkeeper.client">BookKeeperAdmin.ResultCallBack</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/bookkeeper/stats/prometheus/DataSketchesOpStatsLogger.html#rotateLatencyCollection--">rotateLatencyCollection()</a></span> - Method in class org.apache.bookkeeper.stats.prometheus.<a href="org/apache/bookkeeper/stats/prometheus/DataSketchesOpStatsLogger.html" title="class in org.apache.bookkeeper.stats.prometheus">DataSketchesOpStatsLogger</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/bookkeeper/stats/prometheus/PrometheusMetricsProvider.html#rotateLatencyCollection--">rotateLatencyCollection()</a></span> - Method in class org.apache.bookkeeper.stats.prometheus.<a href="org/apache/bookkeeper/stats/prometheus/PrometheusMetricsProvider.html" title="class in org.apache.bookkeeper.stats.prometheus">PrometheusMetricsProvider</a></dt>
+<dd>&nbsp;</dd>
 <dt><a href="org/apache/bookkeeper/client/RoundRobinDistributionSchedule.html" title="class in org.apache.bookkeeper.client"><span class="typeNameLink">RoundRobinDistributionSchedule</span></a> - Class in <a href="org/apache/bookkeeper/client/package-summary.html">org.apache.bookkeeper.client</a></dt>
 <dd>
 <div class="block">A specific <a href="org/apache/bookkeeper/client/DistributionSchedule.html" title="interface in org.apache.bookkeeper.client"><code>DistributionSchedule</code></a> that places entries in round-robin
@@ -5528,8 +5558,6 @@
 <dd>
 <div class="block">Implements Delete Callback.</div>
 </dd>
-<dt><span class="memberNameLink"><a href="org/apache/bookkeeper/stats/prometheus/PrometheusUtil.html#safeRegister-io.prometheus.client.CollectorRegistry-T-">safeRegister(CollectorRegistry, T)</a></span> - Static method in class org.apache.bookkeeper.stats.prometheus.<a href="org/apache/bookkeeper/stats/prometheus/PrometheusUtil.html" title="class in org.apache.bookkeeper.stats.prometheus">PrometheusUtil</a></dt>
-<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/bookkeeper/client/PendingAddOp.html#safeRun--">safeRun()</a></span> - Method in class org.apache.bookkeeper.client.<a href="org/apache/bookkeeper/client/PendingAddOp.html" title="class in org.apache.bookkeeper.client">PendingAddOp</a></dt>
 <dd>
 <div class="block">Initiate the add operation.</div>
@@ -6569,6 +6597,12 @@
 </dd>
 <dt><span class="memberNameLink"><a href="org/apache/bookkeeper/stats/twitter/science/HTTPStatsExporter.html#shutDownRegistry">shutDownRegistry</a></span> - Variable in class org.apache.bookkeeper.stats.twitter.science.<a href="org/apache/bookkeeper/stats/twitter/science/HTTPStatsExporter.html" title="class in org.apache.bookkeeper.stats.twitter.science">HTTPStatsExporter</a></dt>
 <dd>&nbsp;</dd>
+<dt><a href="org/apache/bookkeeper/stats/prometheus/SimpleGauge.html" title="class in org.apache.bookkeeper.stats.prometheus"><span class="typeNameLink">SimpleGauge</span></a>&lt;<a href="org/apache/bookkeeper/stats/prometheus/SimpleGauge.html" title="type parameter in SimpleGauge">T</a> extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Number.html?is-external=true" title="class or interface in java.lang">Number</a>&gt; - Class in <a href="org/apache/bookkeeper/stats/pr [...]
+<dd>
+<div class="block">A <a href="org/apache/bookkeeper/stats/Gauge.html" title="interface in org.apache.bookkeeper.stats"><code>Gauge</code></a> implementation that forwards on the value supplier.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/bookkeeper/stats/prometheus/SimpleGauge.html#SimpleGauge-org.apache.bookkeeper.stats.Gauge-">SimpleGauge(Gauge&lt;T&gt;)</a></span> - Constructor for class org.apache.bookkeeper.stats.prometheus.<a href="org/apache/bookkeeper/stats/prometheus/SimpleGauge.html" title="class in org.apache.bookkeeper.stats.prometheus">SimpleGauge</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/bookkeeper/client/LedgerFragmentReplicator.SingleFragmentCallback.html#SingleFragmentCallback-org.apache.zookeeper.AsyncCallback.VoidCallback-org.apache.bookkeeper.client.LedgerHandle-long-java.util.Map-">SingleFragmentCallback(AsyncCallback.VoidCallback, LedgerHandle, long, Map&lt;BookieSocketAddress, BookieSocketAddress&gt;)</a></span> - Constructor for class org.apache.bookkeeper.client.<a href="org/apache/bookkeeper/client/LedgerFr [...]
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/bookkeeper/client/DistributionSchedule.WriteSet.html#size--">size()</a></span> - Method in interface org.apache.bookkeeper.client.<a href="org/apache/bookkeeper/client/DistributionSchedule.WriteSet.html" title="interface in org.apache.bookkeeper.client">DistributionSchedule.WriteSet</a></dt>
@@ -6888,7 +6922,7 @@
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/bookkeeper/stats/OpStatsLogger.html#toOpStatsData--">toOpStatsData()</a></span> - Method in interface org.apache.bookkeeper.stats.<a href="org/apache/bookkeeper/stats/OpStatsLogger.html" title="interface in org.apache.bookkeeper.stats">OpStatsLogger</a></dt>
 <dd>&nbsp;</dd>
-<dt><span class="memberNameLink"><a href="org/apache/bookkeeper/stats/prometheus/PrometheusOpStatsLogger.html#toOpStatsData--">toOpStatsData()</a></span> - Method in class org.apache.bookkeeper.stats.prometheus.<a href="org/apache/bookkeeper/stats/prometheus/PrometheusOpStatsLogger.html" title="class in org.apache.bookkeeper.stats.prometheus">PrometheusOpStatsLogger</a></dt>
+<dt><span class="memberNameLink"><a href="org/apache/bookkeeper/stats/prometheus/DataSketchesOpStatsLogger.html#toOpStatsData--">toOpStatsData()</a></span> - Method in class org.apache.bookkeeper.stats.prometheus.<a href="org/apache/bookkeeper/stats/prometheus/DataSketchesOpStatsLogger.html" title="class in org.apache.bookkeeper.stats.prometheus">DataSketchesOpStatsLogger</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/bookkeeper/stats/twitter/finagle/OpStatsLoggerImpl.html#toOpStatsData--">toOpStatsData()</a></span> - Method in class org.apache.bookkeeper.stats.twitter.finagle.<a href="org/apache/bookkeeper/stats/twitter/finagle/OpStatsLoggerImpl.html" title="class in org.apache.bookkeeper.stats.twitter.finagle">OpStatsLoggerImpl</a></dt>
 <dd>
@@ -7312,10 +7346,14 @@ the order they are declared.</div>
 <dd>
 <div class="block">Provide write access to a ledger.</div>
 </dd>
+<dt><span class="memberNameLink"><a href="org/apache/bookkeeper/stats/prometheus/PrometheusMetricsProvider.html#writeAllMetrics-java.io.Writer-">writeAllMetrics(Writer)</a></span> - Method in class org.apache.bookkeeper.stats.prometheus.<a href="org/apache/bookkeeper/stats/prometheus/PrometheusMetricsProvider.html" title="class in org.apache.bookkeeper.stats.prometheus">PrometheusMetricsProvider</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/bookkeeper/client/PendingAddOp.html#writeComplete-int-long-long-org.apache.bookkeeper.net.BookieSocketAddress-java.lang.Object-">writeComplete(int, long, long, BookieSocketAddress, Object)</a></span> - Method in class org.apache.bookkeeper.client.<a href="org/apache/bookkeeper/client/PendingAddOp.html" title="class in org.apache.bookkeeper.client">PendingAddOp</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/bookkeeper/client/LedgerRecoveryOp.html#writeCount">writeCount</a></span> - Variable in class org.apache.bookkeeper.client.<a href="org/apache/bookkeeper/client/LedgerRecoveryOp.html" title="class in org.apache.bookkeeper.client">LedgerRecoveryOp</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/bookkeeper/stats/prometheus/PrometheusTextFormatUtil.html#writeCounter-java.io.Writer-java.lang.String-org.apache.bookkeeper.stats.Counter-">writeCounter(Writer, String, Counter)</a></span> - Static method in class org.apache.bookkeeper.stats.prometheus.<a href="org/apache/bookkeeper/stats/prometheus/PrometheusTextFormatUtil.html" title="class in org.apache.bookkeeper.stats.prometheus">PrometheusTextFormatUtil</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/bookkeeper/client/api/BKException.Code.html#WriteException">WriteException</a></span> - Static variable in interface org.apache.bookkeeper.client.api.<a href="org/apache/bookkeeper/client/api/BKException.Code.html" title="interface in org.apache.bookkeeper.client.api">BKException.Code</a></dt>
 <dd>
 <div class="block">Write operations failed (bookie error).</div>
@@ -7328,6 +7366,8 @@ the order they are declared.</div>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/bookkeeper/client/LedgerHandle.html#writeFlags">writeFlags</a></span> - Variable in class org.apache.bookkeeper.client.<a href="org/apache/bookkeeper/client/LedgerHandle.html" title="class in org.apache.bookkeeper.client">LedgerHandle</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/bookkeeper/stats/prometheus/PrometheusTextFormatUtil.html#writeGauge-java.io.Writer-java.lang.String-org.apache.bookkeeper.stats.prometheus.SimpleGauge-">writeGauge(Writer, String, SimpleGauge&lt;? extends Number&gt;)</a></span> - Static method in class org.apache.bookkeeper.stats.prometheus.<a href="org/apache/bookkeeper/stats/prometheus/PrometheusTextFormatUtil.html" title="class in org.apache.bookkeeper.stats.prometheus">PrometheusT [...]
+<dd>&nbsp;</dd>
 <dt><a href="org/apache/bookkeeper/client/api/WriteHandle.html" title="interface in org.apache.bookkeeper.client.api"><span class="typeNameLink">WriteHandle</span></a> - Interface in <a href="org/apache/bookkeeper/client/api/package-summary.html">org.apache.bookkeeper.client.api</a></dt>
 <dd>
 <div class="block">Provide write access to a ledger.</div>
@@ -7336,10 +7376,14 @@ the order they are declared.</div>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/bookkeeper/client/LedgerHandle.html#writeLedgerConfig-org.apache.bookkeeper.proto.BookkeeperInternalCallbacks.GenericCallback-">writeLedgerConfig(BookkeeperInternalCallbacks.GenericCallback&lt;Void&gt;)</a></span> - Method in class org.apache.bookkeeper.client.<a href="org/apache/bookkeeper/client/LedgerHandle.html" title="class in org.apache.bookkeeper.client">LedgerHandle</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/bookkeeper/stats/prometheus/PrometheusTextFormatUtil.html#writeMetricsCollectedByPrometheusClient-java.io.Writer-io.prometheus.client.CollectorRegistry-">writeMetricsCollectedByPrometheusClient(Writer, CollectorRegistry)</a></span> - Static method in class org.apache.bookkeeper.stats.prometheus.<a href="org/apache/bookkeeper/stats/prometheus/PrometheusTextFormatUtil.html" title="class in org.apache.bookkeeper.stats.prometheus">Promethe [...]
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/bookkeeper/client/api/BKException.Code.html#WriteOnReadOnlyBookieException">WriteOnReadOnlyBookieException</a></span> - Static variable in interface org.apache.bookkeeper.client.api.<a href="org/apache/bookkeeper/client/api/BKException.Code.html" title="interface in org.apache.bookkeeper.client.api">BKException.Code</a></dt>
 <dd>
 <div class="block">Write operations failed due to bookies are readonly.</div>
 </dd>
+<dt><span class="memberNameLink"><a href="org/apache/bookkeeper/stats/prometheus/PrometheusTextFormatUtil.html#writeOpStat-java.io.Writer-java.lang.String-org.apache.bookkeeper.stats.prometheus.DataSketchesOpStatsLogger-">writeOpStat(Writer, String, DataSketchesOpStatsLogger)</a></span> - Static method in class org.apache.bookkeeper.stats.prometheus.<a href="org/apache/bookkeeper/stats/prometheus/PrometheusTextFormatUtil.html" title="class in org.apache.bookkeeper.stats.prometheus">Prome [...]
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/bookkeeper/client/TopologyAwareEnsemblePlacementPolicy.RRTopologyAwareCoverageEnsemble.html#writeQuorumSize">writeQuorumSize</a></span> - Variable in class org.apache.bookkeeper.client.<a href="org/apache/bookkeeper/client/TopologyAwareEnsemblePlacementPolicy.RRTopologyAwareCoverageEnsemble.html" title="class in org.apache.bookkeeper.client">TopologyAwareEnsemblePlacementPolicy.RRTopologyAwareCoverageEnsemble</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/bookkeeper/client/PendingReadOp.LedgerEntryRequest.html#writeSet">writeSet</a></span> - Variable in class org.apache.bookkeeper.client.<a href="org/apache/bookkeeper/client/PendingReadOp.LedgerEntryRequest.html" title="class in org.apache.bookkeeper.client">PendingReadOp.LedgerEntryRequest</a></dt>
diff --git a/content/docs/latest/api/javadoc/org/apache/bookkeeper/stats/Counter.html b/content/docs/latest/api/javadoc/org/apache/bookkeeper/stats/Counter.html
index f449df8..fbaa4aa 100644
--- a/content/docs/latest/api/javadoc/org/apache/bookkeeper/stats/Counter.html
+++ b/content/docs/latest/api/javadoc/org/apache/bookkeeper/stats/Counter.html
@@ -101,7 +101,7 @@ var activeTableTab = "activeTableTab";
 <li class="blockList">
 <dl>
 <dt>All Known Implementing Classes:</dt>
-<dd><a href="../../../../org/apache/bookkeeper/stats/twitter/finagle/CounterImpl.html" title="class in org.apache.bookkeeper.stats.twitter.finagle">CounterImpl</a>, <a href="../../../../org/apache/bookkeeper/stats/twitter/science/CounterImpl.html" title="class in org.apache.bookkeeper.stats.twitter.science">CounterImpl</a>, <a href="../../../../org/apache/bookkeeper/stats/twitter/ostrich/CounterImpl.html" title="class in org.apache.bookkeeper.stats.twitter.ostrich">CounterImpl</a>, <a hr [...]
+<dd><a href="../../../../org/apache/bookkeeper/stats/twitter/finagle/CounterImpl.html" title="class in org.apache.bookkeeper.stats.twitter.finagle">CounterImpl</a>, <a href="../../../../org/apache/bookkeeper/stats/twitter/science/CounterImpl.html" title="class in org.apache.bookkeeper.stats.twitter.science">CounterImpl</a>, <a href="../../../../org/apache/bookkeeper/stats/twitter/ostrich/CounterImpl.html" title="class in org.apache.bookkeeper.stats.twitter.ostrich">CounterImpl</a>, <a hr [...]
 </dl>
 <hr>
 <br>
diff --git a/content/docs/latest/api/javadoc/org/apache/bookkeeper/stats/OpStatsLogger.html b/content/docs/latest/api/javadoc/org/apache/bookkeeper/stats/OpStatsLogger.html
index ccf3a9f..5aca0f4 100644
--- a/content/docs/latest/api/javadoc/org/apache/bookkeeper/stats/OpStatsLogger.html
+++ b/content/docs/latest/api/javadoc/org/apache/bookkeeper/stats/OpStatsLogger.html
@@ -101,7 +101,7 @@ var activeTableTab = "activeTableTab";
 <li class="blockList">
 <dl>
 <dt>All Known Implementing Classes:</dt>
-<dd><a href="../../../../org/apache/bookkeeper/stats/CodahaleOpStatsLogger.html" title="class in org.apache.bookkeeper.stats">CodahaleOpStatsLogger</a>, <a href="../../../../org/apache/bookkeeper/stats/codahale/CodahaleOpStatsLogger.html" title="class in org.apache.bookkeeper.stats.codahale">CodahaleOpStatsLogger</a>, <a href="../../../../org/apache/bookkeeper/stats/NullStatsLogger.NullOpStatsLogger.html" title="class in org.apache.bookkeeper.stats">NullStatsLogger.NullOpStatsLogger</a>, [...]
+<dd><a href="../../../../org/apache/bookkeeper/stats/CodahaleOpStatsLogger.html" title="class in org.apache.bookkeeper.stats">CodahaleOpStatsLogger</a>, <a href="../../../../org/apache/bookkeeper/stats/codahale/CodahaleOpStatsLogger.html" title="class in org.apache.bookkeeper.stats.codahale">CodahaleOpStatsLogger</a>, <a href="../../../../org/apache/bookkeeper/stats/prometheus/DataSketchesOpStatsLogger.html" title="class in org.apache.bookkeeper.stats.prometheus">DataSketchesOpStatsLogge [...]
 </dl>
 <hr>
 <br>
diff --git a/content/docs/latest/api/javadoc/org/apache/bookkeeper/stats/class-use/Counter.html b/content/docs/latest/api/javadoc/org/apache/bookkeeper/stats/class-use/Counter.html
index d9bd87d..1df3dd3 100644
--- a/content/docs/latest/api/javadoc/org/apache/bookkeeper/stats/class-use/Counter.html
+++ b/content/docs/latest/api/javadoc/org/apache/bookkeeper/stats/class-use/Counter.html
@@ -277,8 +277,8 @@
 <tbody>
 <tr class="altColor">
 <td class="colFirst"><code>class&nbsp;</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/bookkeeper/stats/prometheus/PrometheusCounter.html" title="class in org.apache.bookkeeper.stats.prometheus">PrometheusCounter</a></span></code>
-<div class="block">A <a href="../../../../../org/apache/bookkeeper/stats/Counter.html" title="interface in org.apache.bookkeeper.stats"><code>Counter</code></a> implementation based on <i>Prometheus</i> metrics library.</div>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/bookkeeper/stats/prometheus/LongAdderCounter.html" title="class in org.apache.bookkeeper.stats.prometheus">LongAdderCounter</a></span></code>
+<div class="block"><a href="../../../../../org/apache/bookkeeper/stats/Counter.html" title="interface in org.apache.bookkeeper.stats"><code>Counter</code></a> implementation based on <a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/atomic/LongAdder.html?is-external=true" title="class or interface in java.util.concurrent.atomic"><code>LongAdder</code></a>.</div>
 </td>
 </tr>
 </tbody>
@@ -296,6 +296,21 @@
 </tr>
 </tbody>
 </table>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing methods, and an explanation">
+<caption><span>Methods in <a href="../../../../../org/apache/bookkeeper/stats/prometheus/package-summary.html">org.apache.bookkeeper.stats.prometheus</a> with parameters of type <a href="../../../../../org/apache/bookkeeper/stats/Counter.html" title="interface in org.apache.bookkeeper.stats">Counter</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><code>(package private) static void</code></td>
+<td class="colLast"><span class="typeNameLabel">PrometheusTextFormatUtil.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/bookkeeper/stats/prometheus/PrometheusTextFormatUtil.html#writeCounter-java.io.Writer-java.lang.String-org.apache.bookkeeper.stats.Counter-">writeCounter</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/io/Writer.html?is-external=true" title="class or interface in java.io">Writer</a>&nbsp;w,
+            <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;name,
+            <a href="../../../../../org/apache/bookkeeper/stats/Counter.html" title="interface in org.apache.bookkeeper.stats">Counter</a>&nbsp;counter)</code>&nbsp;</td>
+</tr>
+</tbody>
+</table>
 </li>
 <li class="blockList"><a name="org.apache.bookkeeper.stats.twitter.finagle">
 <!--   -->
diff --git a/content/docs/latest/api/javadoc/org/apache/bookkeeper/stats/class-use/Gauge.html b/content/docs/latest/api/javadoc/org/apache/bookkeeper/stats/class-use/Gauge.html
index 6152ee8..3ce077f 100644
--- a/content/docs/latest/api/javadoc/org/apache/bookkeeper/stats/class-use/Gauge.html
+++ b/content/docs/latest/api/javadoc/org/apache/bookkeeper/stats/class-use/Gauge.html
@@ -232,6 +232,17 @@
 </tr>
 </tbody>
 </table>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing constructors, and an explanation">
+<caption><span>Constructors in <a href="../../../../../org/apache/bookkeeper/stats/prometheus/package-summary.html">org.apache.bookkeeper.stats.prometheus</a> with parameters of type <a href="../../../../../org/apache/bookkeeper/stats/Gauge.html" title="interface in org.apache.bookkeeper.stats">Gauge</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colOne" scope="col">Constructor and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/bookkeeper/stats/prometheus/SimpleGauge.html#SimpleGauge-org.apache.bookkeeper.stats.Gauge-">SimpleGauge</a></span>(<a href="../../../../../org/apache/bookkeeper/stats/Gauge.html" title="interface in org.apache.bookkeeper.stats">Gauge</a>&lt;<a href="../../../../../org/apache/bookkeeper/stats/prometheus/SimpleGauge.html" title="type parameter in SimpleGauge">T</a>&gt;&nbsp;gauge)</code>&nbsp;</td>
+</tr>
+</tbody>
+</table>
 </li>
 <li class="blockList"><a name="org.apache.bookkeeper.stats.twitter.finagle">
 <!--   -->
diff --git a/content/docs/latest/api/javadoc/org/apache/bookkeeper/stats/class-use/OpStatsData.html b/content/docs/latest/api/javadoc/org/apache/bookkeeper/stats/class-use/OpStatsData.html
index b9de256..a3e9be6 100644
--- a/content/docs/latest/api/javadoc/org/apache/bookkeeper/stats/class-use/OpStatsData.html
+++ b/content/docs/latest/api/javadoc/org/apache/bookkeeper/stats/class-use/OpStatsData.html
@@ -198,7 +198,7 @@
 <tbody>
 <tr class="altColor">
 <td class="colFirst"><code><a href="../../../../../org/apache/bookkeeper/stats/OpStatsData.html" title="class in org.apache.bookkeeper.stats">OpStatsData</a></code></td>
-<td class="colLast"><span class="typeNameLabel">PrometheusOpStatsLogger.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/bookkeeper/stats/prometheus/PrometheusOpStatsLogger.html#toOpStatsData--">toOpStatsData</a></span>()</code>&nbsp;</td>
+<td class="colLast"><span class="typeNameLabel">DataSketchesOpStatsLogger.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/bookkeeper/stats/prometheus/DataSketchesOpStatsLogger.html#toOpStatsData--">toOpStatsData</a></span>()</code>&nbsp;</td>
 </tr>
 </tbody>
 </table>
diff --git a/content/docs/latest/api/javadoc/org/apache/bookkeeper/stats/class-use/OpStatsLogger.html b/content/docs/latest/api/javadoc/org/apache/bookkeeper/stats/class-use/OpStatsLogger.html
index 332b4ff..f5fb343 100644
--- a/content/docs/latest/api/javadoc/org/apache/bookkeeper/stats/class-use/OpStatsLogger.html
+++ b/content/docs/latest/api/javadoc/org/apache/bookkeeper/stats/class-use/OpStatsLogger.html
@@ -329,8 +329,8 @@
 <tbody>
 <tr class="altColor">
 <td class="colFirst"><code>class&nbsp;</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/bookkeeper/stats/prometheus/PrometheusOpStatsLogger.html" title="class in org.apache.bookkeeper.stats.prometheus">PrometheusOpStatsLogger</a></span></code>
-<div class="block">A <code>Prometheus</code> based <a href="../../../../../org/apache/bookkeeper/stats/OpStatsLogger.html" title="interface in org.apache.bookkeeper.stats"><code>OpStatsLogger</code></a> implementation.</div>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/bookkeeper/stats/prometheus/DataSketchesOpStatsLogger.html" title="class in org.apache.bookkeeper.stats.prometheus">DataSketchesOpStatsLogger</a></span></code>
+<div class="block">OpStatsLogger implementation that uses DataSketches library to calculate the approximated latency quantiles.</div>
 </td>
 </tr>
 </tbody>
diff --git a/content/docs/latest/api/javadoc/org/apache/bookkeeper/stats/prometheus/DataSketchesOpStatsLogger.html b/content/docs/latest/api/javadoc/org/apache/bookkeeper/stats/prometheus/DataSketchesOpStatsLogger.html
new file mode 100644
index 0000000..f6d4038
--- /dev/null
+++ b/content/docs/latest/api/javadoc/org/apache/bookkeeper/stats/prometheus/DataSketchesOpStatsLogger.html
@@ -0,0 +1,454 @@
+<!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 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>DataSketchesOpStatsLogger (Apache BookKeeper :: Parent 4.7.0-SNAPSHOT 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="DataSketchesOpStatsLogger (Apache BookKeeper :: Parent 4.7.0-SNAPSHOT API)";
+        }
+    }
+    catch(err) {
+    }
+//-->
+var methods = {"i0":10,"i1":10,"i2":10,"i3":10,"i4":10,"i5":10,"i6":10,"i7":10,"i8":10,"i9":10};
+var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],8:["t4","Concrete 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="class-use/DataSketchesOpStatsLogger.html">Use</a></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>Prev&nbsp;Class</li>
+<li><a href="../../../../../org/apache/bookkeeper/stats/prometheus/LongAdderCounter.html" title="class in org.apache.bookkeeper.stats.prometheus"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../index.html?org/apache/bookkeeper/stats/prometheus/DataSketchesOpStatsLogger.html" target="_top">Frames</a></li>
+<li><a href="DataSketchesOpStatsLogger.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><a href="#constructor.summary">Constr</a>&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><a href="#constructor.detail">Constr</a>&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.bookkeeper.stats.prometheus</div>
+<h2 title="Class DataSketchesOpStatsLogger" class="title">Class DataSketchesOpStatsLogger</h2>
+</div>
+<div class="contentContainer">
+<ul class="inheritance">
+<li><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</a></li>
+<li>
+<ul class="inheritance">
+<li>org.apache.bookkeeper.stats.prometheus.DataSketchesOpStatsLogger</li>
+</ul>
+</li>
+</ul>
+<div class="description">
+<ul class="blockList">
+<li class="blockList">
+<dl>
+<dt>All Implemented Interfaces:</dt>
+<dd><a href="../../../../../org/apache/bookkeeper/stats/OpStatsLogger.html" title="interface in org.apache.bookkeeper.stats">OpStatsLogger</a></dd>
+</dl>
+<hr>
+<br>
+<pre>public class <span class="typeNameLabel">DataSketchesOpStatsLogger</span>
+extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>
+implements <a href="../../../../../org/apache/bookkeeper/stats/OpStatsLogger.html" title="interface in org.apache.bookkeeper.stats">OpStatsLogger</a></pre>
+<div class="block">OpStatsLogger implementation that uses DataSketches library to calculate the approximated latency quantiles.</div>
+</li>
+</ul>
+</div>
+<div class="summary">
+<ul class="blockList">
+<li class="blockList">
+<!-- ======== CONSTRUCTOR SUMMARY ======== -->
+<ul class="blockList">
+<li class="blockList"><a name="constructor.summary">
+<!--   -->
+</a>
+<h3>Constructor Summary</h3>
+<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Constructor Summary table, listing constructors, and an explanation">
+<caption><span>Constructors</span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colOne" scope="col">Constructor and Description</th>
+</tr>
+<tr class="altColor">
+<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../org/apache/bookkeeper/stats/prometheus/DataSketchesOpStatsLogger.html#DataSketchesOpStatsLogger--">DataSketchesOpStatsLogger</a></span>()</code>&nbsp;</td>
+</tr>
+</table>
+</li>
+</ul>
+<!-- ========== 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="t4" class="tableTab"><span><a href="javascript:show(8);">Concrete 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>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/bookkeeper/stats/prometheus/DataSketchesOpStatsLogger.html#clear--">clear</a></span>()</code>
+<div class="block">Clear stats for this operation.</div>
+</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/bookkeeper/stats/prometheus/DataSketchesOpStatsLogger.html#getCount-boolean-">getCount</a></span>(boolean&nbsp;success)</code>&nbsp;</td>
+</tr>
+<tr id="i2" class="altColor">
+<td class="colFirst"><code>double</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/bookkeeper/stats/prometheus/DataSketchesOpStatsLogger.html#getQuantileValue-boolean-double-">getQuantileValue</a></span>(boolean&nbsp;success,
+                double&nbsp;quantile)</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/bookkeeper/stats/prometheus/DataSketchesOpStatsLogger.html#getSum-boolean-">getSum</a></span>(boolean&nbsp;success)</code>&nbsp;</td>
+</tr>
+<tr id="i4" class="altColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/bookkeeper/stats/prometheus/DataSketchesOpStatsLogger.html#registerFailedEvent-long-java.util.concurrent.TimeUnit-">registerFailedEvent</a></span>(long&nbsp;eventLatency,
+                   <a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/TimeUnit.html?is-external=true" title="class or interface in java.util.concurrent">TimeUnit</a>&nbsp;unit)</code>
+<div class="block">Increment the failed op counter with the given eventLatency.</div>
+</td>
+</tr>
+<tr id="i5" class="rowColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/bookkeeper/stats/prometheus/DataSketchesOpStatsLogger.html#registerFailedValue-long-">registerFailedValue</a></span>(long&nbsp;value)</code>
+<div class="block">An operation with the given value failed.</div>
+</td>
+</tr>
+<tr id="i6" class="altColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/bookkeeper/stats/prometheus/DataSketchesOpStatsLogger.html#registerSuccessfulEvent-long-java.util.concurrent.TimeUnit-">registerSuccessfulEvent</a></span>(long&nbsp;eventLatency,
+                       <a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/TimeUnit.html?is-external=true" title="class or interface in java.util.concurrent">TimeUnit</a>&nbsp;unit)</code>
+<div class="block">An operation succeeded with the given eventLatency.</div>
+</td>
+</tr>
+<tr id="i7" class="rowColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/bookkeeper/stats/prometheus/DataSketchesOpStatsLogger.html#registerSuccessfulValue-long-">registerSuccessfulValue</a></span>(long&nbsp;value)</code>
+<div class="block">An operation with the given value succeeded.</div>
+</td>
+</tr>
+<tr id="i8" class="altColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/bookkeeper/stats/prometheus/DataSketchesOpStatsLogger.html#rotateLatencyCollection--">rotateLatencyCollection</a></span>()</code>&nbsp;</td>
+</tr>
+<tr id="i9" class="rowColor">
+<td class="colFirst"><code><a href="../../../../../org/apache/bookkeeper/stats/OpStatsData.html" title="class in org.apache.bookkeeper.stats">OpStatsData</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/bookkeeper/stats/prometheus/DataSketchesOpStatsLogger.html#toOpStatsData--">toOpStatsData</a></span>()</code>&nbsp;</td>
+</tr>
+</table>
+<ul class="blockList">
+<li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
+<!--   -->
+</a>
+<h3>Methods inherited from class&nbsp;java.lang.<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></h3>
+<code><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#clone--" title="class or interface in java.lang">clone</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#equals-java.lang.Object-" title="class or interface in java.lang">equals</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#finalize--" title="class or interface in java.lang">finalize</a>, <a href="http:/ [...]
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+<div class="details">
+<ul class="blockList">
+<li class="blockList">
+<!-- ========= CONSTRUCTOR DETAIL ======== -->
+<ul class="blockList">
+<li class="blockList"><a name="constructor.detail">
+<!--   -->
+</a>
+<h3>Constructor Detail</h3>
+<a name="DataSketchesOpStatsLogger--">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>DataSketchesOpStatsLogger</h4>
+<pre>DataSketchesOpStatsLogger()</pre>
+</li>
+</ul>
+</li>
+</ul>
+<!-- ============ METHOD DETAIL ========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.detail">
+<!--   -->
+</a>
+<h3>Method Detail</h3>
+<a name="registerFailedEvent-long-java.util.concurrent.TimeUnit-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>registerFailedEvent</h4>
+<pre>public&nbsp;void&nbsp;registerFailedEvent(long&nbsp;eventLatency,
+                                <a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/TimeUnit.html?is-external=true" title="class or interface in java.util.concurrent">TimeUnit</a>&nbsp;unit)</pre>
+<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../../org/apache/bookkeeper/stats/OpStatsLogger.html#registerFailedEvent-long-java.util.concurrent.TimeUnit-">OpStatsLogger</a></code></span></div>
+<div class="block">Increment the failed op counter with the given eventLatency.</div>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="../../../../../org/apache/bookkeeper/stats/OpStatsLogger.html#registerFailedEvent-long-java.util.concurrent.TimeUnit-">registerFailedEvent</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../org/apache/bookkeeper/stats/OpStatsLogger.html" title="interface in org.apache.bookkeeper.stats">OpStatsLogger</a></code></dd>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>eventLatency</code> - The event latency</dd>
+</dl>
+</li>
+</ul>
+<a name="registerSuccessfulEvent-long-java.util.concurrent.TimeUnit-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>registerSuccessfulEvent</h4>
+<pre>public&nbsp;void&nbsp;registerSuccessfulEvent(long&nbsp;eventLatency,
+                                    <a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/TimeUnit.html?is-external=true" title="class or interface in java.util.concurrent">TimeUnit</a>&nbsp;unit)</pre>
+<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../../org/apache/bookkeeper/stats/OpStatsLogger.html#registerSuccessfulEvent-long-java.util.concurrent.TimeUnit-">OpStatsLogger</a></code></span></div>
+<div class="block">An operation succeeded with the given eventLatency. Update
+ stats to reflect the same</div>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="../../../../../org/apache/bookkeeper/stats/OpStatsLogger.html#registerSuccessfulEvent-long-java.util.concurrent.TimeUnit-">registerSuccessfulEvent</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../org/apache/bookkeeper/stats/OpStatsLogger.html" title="interface in org.apache.bookkeeper.stats">OpStatsLogger</a></code></dd>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>eventLatency</code> - The event latency</dd>
+</dl>
+</li>
+</ul>
+<a name="registerSuccessfulValue-long-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>registerSuccessfulValue</h4>
+<pre>public&nbsp;void&nbsp;registerSuccessfulValue(long&nbsp;value)</pre>
+<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../../org/apache/bookkeeper/stats/OpStatsLogger.html#registerSuccessfulValue-long-">OpStatsLogger</a></code></span></div>
+<div class="block">An operation with the given value succeeded.</div>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="../../../../../org/apache/bookkeeper/stats/OpStatsLogger.html#registerSuccessfulValue-long-">registerSuccessfulValue</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../org/apache/bookkeeper/stats/OpStatsLogger.html" title="interface in org.apache.bookkeeper.stats">OpStatsLogger</a></code></dd>
+</dl>
+</li>
+</ul>
+<a name="registerFailedValue-long-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>registerFailedValue</h4>
+<pre>public&nbsp;void&nbsp;registerFailedValue(long&nbsp;value)</pre>
+<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../../org/apache/bookkeeper/stats/OpStatsLogger.html#registerFailedValue-long-">OpStatsLogger</a></code></span></div>
+<div class="block">An operation with the given value failed.</div>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="../../../../../org/apache/bookkeeper/stats/OpStatsLogger.html#registerFailedValue-long-">registerFailedValue</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../org/apache/bookkeeper/stats/OpStatsLogger.html" title="interface in org.apache.bookkeeper.stats">OpStatsLogger</a></code></dd>
+</dl>
+</li>
+</ul>
+<a name="toOpStatsData--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>toOpStatsData</h4>
+<pre>public&nbsp;<a href="../../../../../org/apache/bookkeeper/stats/OpStatsData.html" title="class in org.apache.bookkeeper.stats">OpStatsData</a>&nbsp;toOpStatsData()</pre>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="../../../../../org/apache/bookkeeper/stats/OpStatsLogger.html#toOpStatsData--">toOpStatsData</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../org/apache/bookkeeper/stats/OpStatsLogger.html" title="interface in org.apache.bookkeeper.stats">OpStatsLogger</a></code></dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>Returns an OpStatsData object with necessary values. We need this function
+ to support JMX exports. This should be deprecated sometime in the near future.
+ populated.</dd>
+</dl>
+</li>
+</ul>
+<a name="clear--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>clear</h4>
+<pre>public&nbsp;void&nbsp;clear()</pre>
+<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../../org/apache/bookkeeper/stats/OpStatsLogger.html#clear--">OpStatsLogger</a></code></span></div>
+<div class="block">Clear stats for this operation.</div>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="../../../../../org/apache/bookkeeper/stats/OpStatsLogger.html#clear--">clear</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../org/apache/bookkeeper/stats/OpStatsLogger.html" title="interface in org.apache.bookkeeper.stats">OpStatsLogger</a></code></dd>
+</dl>
+</li>
+</ul>
+<a name="rotateLatencyCollection--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>rotateLatencyCollection</h4>
+<pre>public&nbsp;void&nbsp;rotateLatencyCollection()</pre>
+</li>
+</ul>
+<a name="getCount-boolean-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getCount</h4>
+<pre>public&nbsp;long&nbsp;getCount(boolean&nbsp;success)</pre>
+</li>
+</ul>
+<a name="getSum-boolean-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getSum</h4>
+<pre>public&nbsp;long&nbsp;getSum(boolean&nbsp;success)</pre>
+</li>
+</ul>
+<a name="getQuantileValue-boolean-double-">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>getQuantileValue</h4>
+<pre>public&nbsp;double&nbsp;getQuantileValue(boolean&nbsp;success,
+                               double&nbsp;quantile)</pre>
+</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="class-use/DataSketchesOpStatsLogger.html">Use</a></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>Prev&nbsp;Class</li>
+<li><a href="../../../../../org/apache/bookkeeper/stats/prometheus/LongAdderCounter.html" title="class in org.apache.bookkeeper.stats.prometheus"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../index.html?org/apache/bookkeeper/stats/prometheus/DataSketchesOpStatsLogger.html" target="_top">Frames</a></li>
+<li><a href="DataSketchesOpStatsLogger.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><a href="#constructor.summary">Constr</a>&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><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2011&#x2013;2018 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/content/docs/latest/api/javadoc/org/apache/bookkeeper/stats/prometheus/PrometheusMetricsProvider.html b/content/docs/latest/api/javadoc/org/apache/bookkeeper/stats/prometheus/LongAdderCounter.html
similarity index 61%
copy from content/docs/latest/api/javadoc/org/apache/bookkeeper/stats/prometheus/PrometheusMetricsProvider.html
copy to content/docs/latest/api/javadoc/org/apache/bookkeeper/stats/prometheus/LongAdderCounter.html
index 9b613f4..b299b81 100644
--- a/content/docs/latest/api/javadoc/org/apache/bookkeeper/stats/prometheus/PrometheusMetricsProvider.html
+++ b/content/docs/latest/api/javadoc/org/apache/bookkeeper/stats/prometheus/LongAdderCounter.html
@@ -4,7 +4,7 @@
 <head>
 <!-- Generated by javadoc -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>PrometheusMetricsProvider (Apache BookKeeper :: Parent 4.7.0-SNAPSHOT API)</title>
+<title>LongAdderCounter (Apache BookKeeper :: Parent 4.7.0-SNAPSHOT API)</title>
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -12,13 +12,13 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="PrometheusMetricsProvider (Apache BookKeeper :: Parent 4.7.0-SNAPSHOT API)";
+            parent.document.title="LongAdderCounter (Apache BookKeeper :: Parent 4.7.0-SNAPSHOT API)";
         }
     }
     catch(err) {
     }
 //-->
-var methods = {"i0":10,"i1":10,"i2":10};
+var methods = {"i0":10,"i1":10,"i2":10,"i3":10,"i4":10};
 var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"]};
 var altColor = "altColor";
 var rowColor = "rowColor";
@@ -40,7 +40,7 @@ var activeTableTab = "activeTableTab";
 <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="class-use/PrometheusMetricsProvider.html">Use</a></li>
+<li><a href="class-use/LongAdderCounter.html">Use</a></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>
@@ -49,12 +49,12 @@ var activeTableTab = "activeTableTab";
 </div>
 <div class="subNav">
 <ul class="navList">
-<li><a href="../../../../../org/apache/bookkeeper/stats/prometheus/PrometheusCounter.html" title="class in org.apache.bookkeeper.stats.prometheus"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
-<li><a href="../../../../../org/apache/bookkeeper/stats/prometheus/PrometheusOpStatsLogger.html" title="class in org.apache.bookkeeper.stats.prometheus"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+<li><a href="../../../../../org/apache/bookkeeper/stats/prometheus/DataSketchesOpStatsLogger.html" title="class in org.apache.bookkeeper.stats.prometheus"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../../org/apache/bookkeeper/stats/prometheus/PrometheusMetricsProvider.html" title="class in org.apache.bookkeeper.stats.prometheus"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
 </ul>
 <ul class="navList">
-<li><a href="../../../../../index.html?org/apache/bookkeeper/stats/prometheus/PrometheusMetricsProvider.html" target="_top">Frames</a></li>
-<li><a href="PrometheusMetricsProvider.html" target="_top">No&nbsp;Frames</a></li>
+<li><a href="../../../../../index.html?org/apache/bookkeeper/stats/prometheus/LongAdderCounter.html" target="_top">Frames</a></li>
+<li><a href="LongAdderCounter.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>
@@ -93,14 +93,14 @@ var activeTableTab = "activeTableTab";
 <!-- ======== START OF CLASS DATA ======== -->
 <div class="header">
 <div class="subTitle">org.apache.bookkeeper.stats.prometheus</div>
-<h2 title="Class PrometheusMetricsProvider" class="title">Class PrometheusMetricsProvider</h2>
+<h2 title="Class LongAdderCounter" class="title">Class LongAdderCounter</h2>
 </div>
 <div class="contentContainer">
 <ul class="inheritance">
 <li><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</a></li>
 <li>
 <ul class="inheritance">
-<li>org.apache.bookkeeper.stats.prometheus.PrometheusMetricsProvider</li>
+<li>org.apache.bookkeeper.stats.prometheus.LongAdderCounter</li>
 </ul>
 </li>
 </ul>
@@ -109,14 +109,17 @@ var activeTableTab = "activeTableTab";
 <li class="blockList">
 <dl>
 <dt>All Implemented Interfaces:</dt>
-<dd><a href="../../../../../org/apache/bookkeeper/stats/StatsProvider.html" title="interface in org.apache.bookkeeper.stats">StatsProvider</a></dd>
+<dd><a href="../../../../../org/apache/bookkeeper/stats/Counter.html" title="interface in org.apache.bookkeeper.stats">Counter</a></dd>
 </dl>
 <hr>
 <br>
-<pre>public class <span class="typeNameLabel">PrometheusMetricsProvider</span>
+<pre>public class <span class="typeNameLabel">LongAdderCounter</span>
 extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>
-implements <a href="../../../../../org/apache/bookkeeper/stats/StatsProvider.html" title="interface in org.apache.bookkeeper.stats">StatsProvider</a></pre>
-<div class="block">A <i>Prometheus</i> based <a href="../../../../../org/apache/bookkeeper/stats/StatsProvider.html" title="interface in org.apache.bookkeeper.stats"><code>StatsProvider</code></a> implementation.</div>
+implements <a href="../../../../../org/apache/bookkeeper/stats/Counter.html" title="interface in org.apache.bookkeeper.stats">Counter</a></pre>
+<div class="block"><a href="../../../../../org/apache/bookkeeper/stats/Counter.html" title="interface in org.apache.bookkeeper.stats"><code>Counter</code></a> implementation based on <a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/atomic/LongAdder.html?is-external=true" title="class or interface in java.util.concurrent.atomic"><code>LongAdder</code></a>.
+
+ <p>LongAdder keeps a counter per-thread and then aggregates to get the result, in order to avoid contention between
+ multiple threads.</div>
 </li>
 </ul>
 </div>
@@ -135,7 +138,7 @@ implements <a href="../../../../../org/apache/bookkeeper/stats/StatsProvider.htm
 <th class="colOne" scope="col">Constructor and Description</th>
 </tr>
 <tr class="altColor">
-<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../org/apache/bookkeeper/stats/prometheus/PrometheusMetricsProvider.html#PrometheusMetricsProvider--">PrometheusMetricsProvider</a></span>()</code>&nbsp;</td>
+<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../org/apache/bookkeeper/stats/prometheus/LongAdderCounter.html#LongAdderCounter--">LongAdderCounter</a></span>()</code>&nbsp;</td>
 </tr>
 </table>
 </li>
@@ -153,21 +156,33 @@ implements <a href="../../../../../org/apache/bookkeeper/stats/StatsProvider.htm
 <th class="colLast" scope="col">Method and Description</th>
 </tr>
 <tr id="i0" class="altColor">
-<td class="colFirst"><code><a href="../../../../../org/apache/bookkeeper/stats/StatsLogger.html" title="interface in org.apache.bookkeeper.stats">StatsLogger</a></code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/bookkeeper/stats/prometheus/PrometheusMetricsProvider.html#getStatsLogger-java.lang.String-">getStatsLogger</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;scope)</code>
-<div class="block">Return the stats logger to a given <i>scope</i>.</div>
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/bookkeeper/stats/prometheus/LongAdderCounter.html#add-long-">add</a></span>(long&nbsp;delta)</code>
+<div class="block">Add delta to the value associated with this stat.</div>
 </td>
 </tr>
 <tr id="i1" class="rowColor">
 <td class="colFirst"><code>void</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/bookkeeper/stats/prometheus/PrometheusMetricsProvider.html#start-org.apache.commons.configuration.Configuration-">start</a></span>(org.apache.commons.configuration.Configuration&nbsp;conf)</code>
-<div class="block">Intialize the stats provider by loading the given configuration <i>conf</i>.</div>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/bookkeeper/stats/prometheus/LongAdderCounter.html#clear--">clear</a></span>()</code>
+<div class="block">Clear this stat.</div>
 </td>
 </tr>
 <tr id="i2" class="altColor">
 <td class="colFirst"><code>void</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/bookkeeper/stats/prometheus/PrometheusMetricsProvider.html#stop--">stop</a></span>()</code>
-<div class="block">Close the stats provider.</div>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/bookkeeper/stats/prometheus/LongAdderCounter.html#dec--">dec</a></span>()</code>
+<div class="block">Decrement the value associated with this stat.</div>
+</td>
+</tr>
+<tr id="i3" class="rowColor">
+<td class="colFirst"><code><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Long.html?is-external=true" title="class or interface in java.lang">Long</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/bookkeeper/stats/prometheus/LongAdderCounter.html#get--">get</a></span>()</code>
+<div class="block">Get the value associated with this stat.</div>
+</td>
+</tr>
+<tr id="i4" class="altColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/bookkeeper/stats/prometheus/LongAdderCounter.html#inc--">inc</a></span>()</code>
+<div class="block">Increment the value associated with this stat.</div>
 </td>
 </tr>
 </table>
@@ -192,13 +207,13 @@ implements <a href="../../../../../org/apache/bookkeeper/stats/StatsProvider.htm
 <!--   -->
 </a>
 <h3>Constructor Detail</h3>
-<a name="PrometheusMetricsProvider--">
+<a name="LongAdderCounter--">
 <!--   -->
 </a>
 <ul class="blockListLast">
 <li class="blockList">
-<h4>PrometheusMetricsProvider</h4>
-<pre>public&nbsp;PrometheusMetricsProvider()</pre>
+<h4>LongAdderCounter</h4>
+<pre>public&nbsp;LongAdderCounter()</pre>
 </li>
 </ul>
 </li>
@@ -209,54 +224,78 @@ implements <a href="../../../../../org/apache/bookkeeper/stats/StatsProvider.htm
 <!--   -->
 </a>
 <h3>Method Detail</h3>
-<a name="start-org.apache.commons.configuration.Configuration-">
+<a name="clear--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>clear</h4>
+<pre>public&nbsp;void&nbsp;clear()</pre>
+<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../../org/apache/bookkeeper/stats/Counter.html#clear--">Counter</a></code></span></div>
+<div class="block">Clear this stat.</div>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="../../../../../org/apache/bookkeeper/stats/Counter.html#clear--">clear</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../org/apache/bookkeeper/stats/Counter.html" title="interface in org.apache.bookkeeper.stats">Counter</a></code></dd>
+</dl>
+</li>
+</ul>
+<a name="inc--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>inc</h4>
+<pre>public&nbsp;void&nbsp;inc()</pre>
+<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../../org/apache/bookkeeper/stats/Counter.html#inc--">Counter</a></code></span></div>
+<div class="block">Increment the value associated with this stat.</div>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="../../../../../org/apache/bookkeeper/stats/Counter.html#inc--">inc</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../org/apache/bookkeeper/stats/Counter.html" title="interface in org.apache.bookkeeper.stats">Counter</a></code></dd>
+</dl>
+</li>
+</ul>
+<a name="dec--">
 <!--   -->
 </a>
 <ul class="blockList">
 <li class="blockList">
-<h4>start</h4>
-<pre>public&nbsp;void&nbsp;start(org.apache.commons.configuration.Configuration&nbsp;conf)</pre>
-<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../../org/apache/bookkeeper/stats/StatsProvider.html#start-org.apache.commons.configuration.Configuration-">StatsProvider</a></code></span></div>
-<div class="block">Intialize the stats provider by loading the given configuration <i>conf</i>.</div>
+<h4>dec</h4>
+<pre>public&nbsp;void&nbsp;dec()</pre>
+<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../../org/apache/bookkeeper/stats/Counter.html#dec--">Counter</a></code></span></div>
+<div class="block">Decrement the value associated with this stat.</div>
 <dl>
 <dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
-<dd><code><a href="../../../../../org/apache/bookkeeper/stats/StatsProvider.html#start-org.apache.commons.configuration.Configuration-">start</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../org/apache/bookkeeper/stats/StatsProvider.html" title="interface in org.apache.bookkeeper.stats">StatsProvider</a></code></dd>
-<dt><span class="paramLabel">Parameters:</span></dt>
-<dd><code>conf</code> - Configuration to configure the stats provider.</dd>
+<dd><code><a href="../../../../../org/apache/bookkeeper/stats/Counter.html#dec--">dec</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../org/apache/bookkeeper/stats/Counter.html" title="interface in org.apache.bookkeeper.stats">Counter</a></code></dd>
 </dl>
 </li>
 </ul>
-<a name="stop--">
+<a name="add-long-">
 <!--   -->
 </a>
 <ul class="blockList">
 <li class="blockList">
-<h4>stop</h4>
-<pre>public&nbsp;void&nbsp;stop()</pre>
-<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../../org/apache/bookkeeper/stats/StatsProvider.html#stop--">StatsProvider</a></code></span></div>
-<div class="block">Close the stats provider.</div>
+<h4>add</h4>
+<pre>public&nbsp;void&nbsp;add(long&nbsp;delta)</pre>
+<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../../org/apache/bookkeeper/stats/Counter.html#add-long-">Counter</a></code></span></div>
+<div class="block">Add delta to the value associated with this stat.</div>
 <dl>
 <dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
-<dd><code><a href="../../../../../org/apache/bookkeeper/stats/StatsProvider.html#stop--">stop</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../org/apache/bookkeeper/stats/StatsProvider.html" title="interface in org.apache.bookkeeper.stats">StatsProvider</a></code></dd>
+<dd><code><a href="../../../../../org/apache/bookkeeper/stats/Counter.html#add-long-">add</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../org/apache/bookkeeper/stats/Counter.html" title="interface in org.apache.bookkeeper.stats">Counter</a></code></dd>
 </dl>
 </li>
 </ul>
-<a name="getStatsLogger-java.lang.String-">
+<a name="get--">
 <!--   -->
 </a>
 <ul class="blockListLast">
 <li class="blockList">
-<h4>getStatsLogger</h4>
-<pre>public&nbsp;<a href="../../../../../org/apache/bookkeeper/stats/StatsLogger.html" title="interface in org.apache.bookkeeper.stats">StatsLogger</a>&nbsp;getStatsLogger(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;scope)</pre>
-<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../../org/apache/bookkeeper/stats/StatsProvider.html#getStatsLogger-java.lang.String-">StatsProvider</a></code></span></div>
-<div class="block">Return the stats logger to a given <i>scope</i>.</div>
+<h4>get</h4>
+<pre>public&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Long.html?is-external=true" title="class or interface in java.lang">Long</a>&nbsp;get()</pre>
+<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../../org/apache/bookkeeper/stats/Counter.html#get--">Counter</a></code></span></div>
+<div class="block">Get the value associated with this stat.</div>
 <dl>
 <dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
-<dd><code><a href="../../../../../org/apache/bookkeeper/stats/StatsProvider.html#getStatsLogger-java.lang.String-">getStatsLogger</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../org/apache/bookkeeper/stats/StatsProvider.html" title="interface in org.apache.bookkeeper.stats">StatsProvider</a></code></dd>
-<dt><span class="paramLabel">Parameters:</span></dt>
-<dd><code>scope</code> - Scope for the given stats</dd>
-<dt><span class="returnLabel">Returns:</span></dt>
-<dd>stats logger for the given <i>scope</i></dd>
+<dd><code><a href="../../../../../org/apache/bookkeeper/stats/Counter.html#get--">get</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../org/apache/bookkeeper/stats/Counter.html" title="interface in org.apache.bookkeeper.stats">Counter</a></code></dd>
 </dl>
 </li>
 </ul>
@@ -279,7 +318,7 @@ implements <a href="../../../../../org/apache/bookkeeper/stats/StatsProvider.htm
 <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="class-use/PrometheusMetricsProvider.html">Use</a></li>
+<li><a href="class-use/LongAdderCounter.html">Use</a></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>
@@ -288,12 +327,12 @@ implements <a href="../../../../../org/apache/bookkeeper/stats/StatsProvider.htm
 </div>
 <div class="subNav">
 <ul class="navList">
-<li><a href="../../../../../org/apache/bookkeeper/stats/prometheus/PrometheusCounter.html" title="class in org.apache.bookkeeper.stats.prometheus"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
-<li><a href="../../../../../org/apache/bookkeeper/stats/prometheus/PrometheusOpStatsLogger.html" title="class in org.apache.bookkeeper.stats.prometheus"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+<li><a href="../../../../../org/apache/bookkeeper/stats/prometheus/DataSketchesOpStatsLogger.html" title="class in org.apache.bookkeeper.stats.prometheus"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../../org/apache/bookkeeper/stats/prometheus/PrometheusMetricsProvider.html" title="class in org.apache.bookkeeper.stats.prometheus"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
 </ul>
 <ul class="navList">
-<li><a href="../../../../../index.html?org/apache/bookkeeper/stats/prometheus/PrometheusMetricsProvider.html" target="_top">Frames</a></li>
-<li><a href="PrometheusMetricsProvider.html" target="_top">No&nbsp;Frames</a></li>
+<li><a href="../../../../../index.html?org/apache/bookkeeper/stats/prometheus/LongAdderCounter.html" target="_top">Frames</a></li>
+<li><a href="LongAdderCounter.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>
diff --git a/content/docs/latest/api/javadoc/org/apache/bookkeeper/stats/prometheus/PrometheusMetricsProvider.html b/content/docs/latest/api/javadoc/org/apache/bookkeeper/stats/prometheus/PrometheusMetricsProvider.html
index 9b613f4..149c4a0 100644
--- a/content/docs/latest/api/javadoc/org/apache/bookkeeper/stats/prometheus/PrometheusMetricsProvider.html
+++ b/content/docs/latest/api/javadoc/org/apache/bookkeeper/stats/prometheus/PrometheusMetricsProvider.html
@@ -18,7 +18,7 @@
     catch(err) {
     }
 //-->
-var methods = {"i0":10,"i1":10,"i2":10};
+var methods = {"i0":10,"i1":10,"i2":10,"i3":10,"i4":10};
 var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"]};
 var altColor = "altColor";
 var rowColor = "rowColor";
@@ -49,8 +49,8 @@ var activeTableTab = "activeTableTab";
 </div>
 <div class="subNav">
 <ul class="navList">
-<li><a href="../../../../../org/apache/bookkeeper/stats/prometheus/PrometheusCounter.html" title="class in org.apache.bookkeeper.stats.prometheus"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
-<li><a href="../../../../../org/apache/bookkeeper/stats/prometheus/PrometheusOpStatsLogger.html" title="class in org.apache.bookkeeper.stats.prometheus"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+<li><a href="../../../../../org/apache/bookkeeper/stats/prometheus/LongAdderCounter.html" title="class in org.apache.bookkeeper.stats.prometheus"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../../org/apache/bookkeeper/stats/prometheus/PrometheusServlet.html" title="class in org.apache.bookkeeper.stats.prometheus"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
 </ul>
 <ul class="navList">
 <li><a href="../../../../../index.html?org/apache/bookkeeper/stats/prometheus/PrometheusMetricsProvider.html" target="_top">Frames</a></li>
@@ -75,13 +75,13 @@ var activeTableTab = "activeTableTab";
 <ul class="subNavList">
 <li>Summary:&nbsp;</li>
 <li>Nested&nbsp;|&nbsp;</li>
-<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#field.summary">Field</a>&nbsp;|&nbsp;</li>
 <li><a href="#constructor.summary">Constr</a>&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><a href="#field.detail">Field</a>&nbsp;|&nbsp;</li>
 <li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
 <li><a href="#method.detail">Method</a></li>
 </ul>
@@ -123,6 +123,37 @@ implements <a href="../../../../../org/apache/bookkeeper/stats/StatsProvider.htm
 <div class="summary">
 <ul class="blockList">
 <li class="blockList">
+<!-- =========== FIELD SUMMARY =========== -->
+<ul class="blockList">
+<li class="blockList"><a name="field.summary">
+<!--   -->
+</a>
+<h3>Field Summary</h3>
+<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Field Summary table, listing fields, and an explanation">
+<caption><span>Fields</span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Field and Description</th>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>(package private) <a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/ConcurrentMap.html?is-external=true" title="class or interface in java.util.concurrent">ConcurrentMap</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>,<a href="../../../../../org/apache/bookkeeper/stats/prometheus/LongAdderCounter.html" title="class in org.apache.bookkeeper.st [...]
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/bookkeeper/stats/prometheus/PrometheusMetricsProvider.html#counters">counters</a></span></code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>(package private) <a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/ConcurrentMap.html?is-external=true" title="class or interface in java.util.concurrent">ConcurrentMap</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>,<a href="../../../../../org/apache/bookkeeper/stats/prometheus/SimpleGauge.html" title="class in org.apache.bookkeeper.stats.p [...]
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/bookkeeper/stats/prometheus/PrometheusMetricsProvider.html#gauges">gauges</a></span></code>&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>(package private) <a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/ConcurrentMap.html?is-external=true" title="class or interface in java.util.concurrent">ConcurrentMap</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>,<a href="../../../../../org/apache/bookkeeper/stats/prometheus/DataSketchesOpStatsLogger.html" title="class in org.apache.book [...]
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/bookkeeper/stats/prometheus/PrometheusMetricsProvider.html#opStats">opStats</a></span></code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>(package private) io.prometheus.client.CollectorRegistry</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/bookkeeper/stats/prometheus/PrometheusMetricsProvider.html#registry">registry</a></span></code>&nbsp;</td>
+</tr>
+</table>
+</li>
+</ul>
 <!-- ======== CONSTRUCTOR SUMMARY ======== -->
 <ul class="blockList">
 <li class="blockList"><a name="constructor.summary">
@@ -159,17 +190,25 @@ implements <a href="../../../../../org/apache/bookkeeper/stats/StatsProvider.htm
 </td>
 </tr>
 <tr id="i1" class="rowColor">
+<td class="colFirst"><code>(package private) void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/bookkeeper/stats/prometheus/PrometheusMetricsProvider.html#rotateLatencyCollection--">rotateLatencyCollection</a></span>()</code>&nbsp;</td>
+</tr>
+<tr id="i2" class="altColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/bookkeeper/stats/prometheus/PrometheusMetricsProvider.html#start-org.apache.commons.configuration.Configuration-">start</a></span>(org.apache.commons.configuration.Configuration&nbsp;conf)</code>
 <div class="block">Intialize the stats provider by loading the given configuration <i>conf</i>.</div>
 </td>
 </tr>
-<tr id="i2" class="altColor">
+<tr id="i3" class="rowColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/bookkeeper/stats/prometheus/PrometheusMetricsProvider.html#stop--">stop</a></span>()</code>
 <div class="block">Close the stats provider.</div>
 </td>
 </tr>
+<tr id="i4" class="altColor">
+<td class="colFirst"><code>(package private) void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/bookkeeper/stats/prometheus/PrometheusMetricsProvider.html#writeAllMetrics-java.io.Writer-">writeAllMetrics</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/io/Writer.html?is-external=true" title="class or interface in java.io">Writer</a>&nbsp;writer)</code>&nbsp;</td>
+</tr>
 </table>
 <ul class="blockList">
 <li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
@@ -186,6 +225,50 @@ implements <a href="../../../../../org/apache/bookkeeper/stats/StatsProvider.htm
 <div class="details">
 <ul class="blockList">
 <li class="blockList">
+<!-- ============ FIELD DETAIL =========== -->
+<ul class="blockList">
+<li class="blockList"><a name="field.detail">
+<!--   -->
+</a>
+<h3>Field Detail</h3>
+<a name="registry">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>registry</h4>
+<pre>final&nbsp;io.prometheus.client.CollectorRegistry registry</pre>
+</li>
+</ul>
+<a name="counters">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>counters</h4>
+<pre>final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/ConcurrentMap.html?is-external=true" title="class or interface in java.util.concurrent">ConcurrentMap</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>,<a href="../../../../../org/apache/bookkeeper/stats/prometheus/LongAdderCounter.html" title="class in org.apache.bookkeeper.stats.prometheus">LongAdderCoun [...]
+</li>
+</ul>
+<a name="gauges">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>gauges</h4>
+<pre>final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/ConcurrentMap.html?is-external=true" title="class or interface in java.util.concurrent">ConcurrentMap</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>,<a href="../../../../../org/apache/bookkeeper/stats/prometheus/SimpleGauge.html" title="class in org.apache.bookkeeper.stats.prometheus">SimpleGauge</a>&lt [...]
+</li>
+</ul>
+<a name="opStats">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>opStats</h4>
+<pre>final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/ConcurrentMap.html?is-external=true" title="class or interface in java.util.concurrent">ConcurrentMap</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>,<a href="../../../../../org/apache/bookkeeper/stats/prometheus/DataSketchesOpStatsLogger.html" title="class in org.apache.bookkeeper.stats.prometheus">Data [...]
+</li>
+</ul>
+</li>
+</ul>
 <!-- ========= CONSTRUCTOR DETAIL ======== -->
 <ul class="blockList">
 <li class="blockList"><a name="constructor.detail">
@@ -244,7 +327,7 @@ implements <a href="../../../../../org/apache/bookkeeper/stats/StatsProvider.htm
 <a name="getStatsLogger-java.lang.String-">
 <!--   -->
 </a>
-<ul class="blockListLast">
+<ul class="blockList">
 <li class="blockList">
 <h4>getStatsLogger</h4>
 <pre>public&nbsp;<a href="../../../../../org/apache/bookkeeper/stats/StatsLogger.html" title="interface in org.apache.bookkeeper.stats">StatsLogger</a>&nbsp;getStatsLogger(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;scope)</pre>
@@ -260,6 +343,29 @@ implements <a href="../../../../../org/apache/bookkeeper/stats/StatsProvider.htm
 </dl>
 </li>
 </ul>
+<a name="writeAllMetrics-java.io.Writer-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>writeAllMetrics</h4>
+<pre>void&nbsp;writeAllMetrics(<a href="http://docs.oracle.com/javase/8/docs/api/java/io/Writer.html?is-external=true" title="class or interface in java.io">Writer</a>&nbsp;writer)
+              throws <a href="http://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
+<dl>
+<dt><span class="throwsLabel">Throws:</span></dt>
+<dd><code><a href="http://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></code></dd>
+</dl>
+</li>
+</ul>
+<a name="rotateLatencyCollection--">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>rotateLatencyCollection</h4>
+<pre>void&nbsp;rotateLatencyCollection()</pre>
+</li>
+</ul>
 </li>
 </ul>
 </li>
@@ -288,8 +394,8 @@ implements <a href="../../../../../org/apache/bookkeeper/stats/StatsProvider.htm
 </div>
 <div class="subNav">
 <ul class="navList">
-<li><a href="../../../../../org/apache/bookkeeper/stats/prometheus/PrometheusCounter.html" title="class in org.apache.bookkeeper.stats.prometheus"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
-<li><a href="../../../../../org/apache/bookkeeper/stats/prometheus/PrometheusOpStatsLogger.html" title="class in org.apache.bookkeeper.stats.prometheus"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+<li><a href="../../../../../org/apache/bookkeeper/stats/prometheus/LongAdderCounter.html" title="class in org.apache.bookkeeper.stats.prometheus"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../../org/apache/bookkeeper/stats/prometheus/PrometheusServlet.html" title="class in org.apache.bookkeeper.stats.prometheus"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
 </ul>
 <ul class="navList">
 <li><a href="../../../../../index.html?org/apache/bookkeeper/stats/prometheus/PrometheusMetricsProvider.html" target="_top">Frames</a></li>
@@ -314,13 +420,13 @@ implements <a href="../../../../../org/apache/bookkeeper/stats/StatsProvider.htm
 <ul class="subNavList">
 <li>Summary:&nbsp;</li>
 <li>Nested&nbsp;|&nbsp;</li>
-<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#field.summary">Field</a>&nbsp;|&nbsp;</li>
 <li><a href="#constructor.summary">Constr</a>&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><a href="#field.detail">Field</a>&nbsp;|&nbsp;</li>
 <li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
 <li><a href="#method.detail">Method</a></li>
 </ul>
diff --git a/content/docs/latest/api/javadoc/org/apache/bookkeeper/stats/prometheus/PrometheusMetricsProvider.html b/content/docs/latest/api/javadoc/org/apache/bookkeeper/stats/prometheus/PrometheusServlet.html
similarity index 60%
copy from content/docs/latest/api/javadoc/org/apache/bookkeeper/stats/prometheus/PrometheusMetricsProvider.html
copy to content/docs/latest/api/javadoc/org/apache/bookkeeper/stats/prometheus/PrometheusServlet.html
index 9b613f4..e055e9b 100644
--- a/content/docs/latest/api/javadoc/org/apache/bookkeeper/stats/prometheus/PrometheusMetricsProvider.html
+++ b/content/docs/latest/api/javadoc/org/apache/bookkeeper/stats/prometheus/PrometheusServlet.html
@@ -4,7 +4,7 @@
 <head>
 <!-- Generated by javadoc -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>PrometheusMetricsProvider (Apache BookKeeper :: Parent 4.7.0-SNAPSHOT API)</title>
+<title>PrometheusServlet (Apache BookKeeper :: Parent 4.7.0-SNAPSHOT API)</title>
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -12,13 +12,13 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="PrometheusMetricsProvider (Apache BookKeeper :: Parent 4.7.0-SNAPSHOT API)";
+            parent.document.title="PrometheusServlet (Apache BookKeeper :: Parent 4.7.0-SNAPSHOT API)";
         }
     }
     catch(err) {
     }
 //-->
-var methods = {"i0":10,"i1":10,"i2":10};
+var methods = {"i0":10,"i1":10};
 var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"]};
 var altColor = "altColor";
 var rowColor = "rowColor";
@@ -40,7 +40,7 @@ var activeTableTab = "activeTableTab";
 <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="class-use/PrometheusMetricsProvider.html">Use</a></li>
+<li><a href="class-use/PrometheusServlet.html">Use</a></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>
@@ -49,12 +49,12 @@ var activeTableTab = "activeTableTab";
 </div>
 <div class="subNav">
 <ul class="navList">
-<li><a href="../../../../../org/apache/bookkeeper/stats/prometheus/PrometheusCounter.html" title="class in org.apache.bookkeeper.stats.prometheus"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
-<li><a href="../../../../../org/apache/bookkeeper/stats/prometheus/PrometheusOpStatsLogger.html" title="class in org.apache.bookkeeper.stats.prometheus"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+<li><a href="../../../../../org/apache/bookkeeper/stats/prometheus/PrometheusMetricsProvider.html" title="class in org.apache.bookkeeper.stats.prometheus"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../../org/apache/bookkeeper/stats/prometheus/PrometheusStatsLogger.html" title="class in org.apache.bookkeeper.stats.prometheus"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
 </ul>
 <ul class="navList">
-<li><a href="../../../../../index.html?org/apache/bookkeeper/stats/prometheus/PrometheusMetricsProvider.html" target="_top">Frames</a></li>
-<li><a href="PrometheusMetricsProvider.html" target="_top">No&nbsp;Frames</a></li>
+<li><a href="../../../../../index.html?org/apache/bookkeeper/stats/prometheus/PrometheusServlet.html" target="_top">Frames</a></li>
+<li><a href="PrometheusServlet.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>
@@ -93,14 +93,24 @@ var activeTableTab = "activeTableTab";
 <!-- ======== START OF CLASS DATA ======== -->
 <div class="header">
 <div class="subTitle">org.apache.bookkeeper.stats.prometheus</div>
-<h2 title="Class PrometheusMetricsProvider" class="title">Class PrometheusMetricsProvider</h2>
+<h2 title="Class PrometheusServlet" class="title">Class PrometheusServlet</h2>
 </div>
 <div class="contentContainer">
 <ul class="inheritance">
 <li><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</a></li>
 <li>
 <ul class="inheritance">
-<li>org.apache.bookkeeper.stats.prometheus.PrometheusMetricsProvider</li>
+<li>javax.servlet.GenericServlet</li>
+<li>
+<ul class="inheritance">
+<li>javax.servlet.http.HttpServlet</li>
+<li>
+<ul class="inheritance">
+<li>org.apache.bookkeeper.stats.prometheus.PrometheusServlet</li>
+</ul>
+</li>
+</ul>
+</li>
 </ul>
 </li>
 </ul>
@@ -109,14 +119,17 @@ var activeTableTab = "activeTableTab";
 <li class="blockList">
 <dl>
 <dt>All Implemented Interfaces:</dt>
-<dd><a href="../../../../../org/apache/bookkeeper/stats/StatsProvider.html" title="interface in org.apache.bookkeeper.stats">StatsProvider</a></dd>
+<dd><a href="http://docs.oracle.com/javase/8/docs/api/java/io/Serializable.html?is-external=true" title="class or interface in java.io">Serializable</a>, javax.servlet.Servlet, javax.servlet.ServletConfig</dd>
 </dl>
 <hr>
 <br>
-<pre>public class <span class="typeNameLabel">PrometheusMetricsProvider</span>
-extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>
-implements <a href="../../../../../org/apache/bookkeeper/stats/StatsProvider.html" title="interface in org.apache.bookkeeper.stats">StatsProvider</a></pre>
-<div class="block">A <i>Prometheus</i> based <a href="../../../../../org/apache/bookkeeper/stats/StatsProvider.html" title="interface in org.apache.bookkeeper.stats"><code>StatsProvider</code></a> implementation.</div>
+<pre>public class <span class="typeNameLabel">PrometheusServlet</span>
+extends javax.servlet.http.HttpServlet</pre>
+<div class="block">Servlet used to export metrics in prometheus text format.</div>
+<dl>
+<dt><span class="seeLabel">See Also:</span></dt>
+<dd><a href="../../../../../serialized-form.html#org.apache.bookkeeper.stats.prometheus.PrometheusServlet">Serialized Form</a></dd>
+</dl>
 </li>
 </ul>
 </div>
@@ -135,7 +148,7 @@ implements <a href="../../../../../org/apache/bookkeeper/stats/StatsProvider.htm
 <th class="colOne" scope="col">Constructor and Description</th>
 </tr>
 <tr class="altColor">
-<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../org/apache/bookkeeper/stats/prometheus/PrometheusMetricsProvider.html#PrometheusMetricsProvider--">PrometheusMetricsProvider</a></span>()</code>&nbsp;</td>
+<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../org/apache/bookkeeper/stats/prometheus/PrometheusServlet.html#PrometheusServlet-org.apache.bookkeeper.stats.prometheus.PrometheusMetricsProvider-">PrometheusServlet</a></span>(<a href="../../../../../org/apache/bookkeeper/stats/prometheus/PrometheusMetricsProvider.html" title="class in org.apache.bookkeeper.stats.prometheus">PrometheusMetricsProvider</a>&nbsp;provider)</code>&nbsp;</td>
 </tr>
 </table>
 </li>
@@ -153,25 +166,31 @@ implements <a href="../../../../../org/apache/bookkeeper/stats/StatsProvider.htm
 <th class="colLast" scope="col">Method and Description</th>
 </tr>
 <tr id="i0" class="altColor">
-<td class="colFirst"><code><a href="../../../../../org/apache/bookkeeper/stats/StatsLogger.html" title="interface in org.apache.bookkeeper.stats">StatsLogger</a></code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/bookkeeper/stats/prometheus/PrometheusMetricsProvider.html#getStatsLogger-java.lang.String-">getStatsLogger</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;scope)</code>
-<div class="block">Return the stats logger to a given <i>scope</i>.</div>
-</td>
+<td class="colFirst"><code>protected void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/bookkeeper/stats/prometheus/PrometheusServlet.html#doGet-javax.servlet.http.HttpServletRequest-javax.servlet.http.HttpServletResponse-">doGet</a></span>(javax.servlet.http.HttpServletRequest&nbsp;req,
+     javax.servlet.http.HttpServletResponse&nbsp;resp)</code>&nbsp;</td>
 </tr>
 <tr id="i1" class="rowColor">
-<td class="colFirst"><code>void</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/bookkeeper/stats/prometheus/PrometheusMetricsProvider.html#start-org.apache.commons.configuration.Configuration-">start</a></span>(org.apache.commons.configuration.Configuration&nbsp;conf)</code>
-<div class="block">Intialize the stats provider by loading the given configuration <i>conf</i>.</div>
-</td>
-</tr>
-<tr id="i2" class="altColor">
-<td class="colFirst"><code>void</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/bookkeeper/stats/prometheus/PrometheusMetricsProvider.html#stop--">stop</a></span>()</code>
-<div class="block">Close the stats provider.</div>
-</td>
+<td class="colFirst"><code>protected void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/bookkeeper/stats/prometheus/PrometheusServlet.html#doPost-javax.servlet.http.HttpServletRequest-javax.servlet.http.HttpServletResponse-">doPost</a></span>(javax.servlet.http.HttpServletRequest&nbsp;req,
+      javax.servlet.http.HttpServletResponse&nbsp;resp)</code>&nbsp;</td>
 </tr>
 </table>
 <ul class="blockList">
+<li class="blockList"><a name="methods.inherited.from.class.javax.servlet.http.HttpServlet">
+<!--   -->
+</a>
+<h3>Methods inherited from class&nbsp;javax.servlet.http.HttpServlet</h3>
+<code>doDelete, doHead, doOptions, doPut, doTrace, getLastModified, service, service</code></li>
+</ul>
+<ul class="blockList">
+<li class="blockList"><a name="methods.inherited.from.class.javax.servlet.GenericServlet">
+<!--   -->
+</a>
+<h3>Methods inherited from class&nbsp;javax.servlet.GenericServlet</h3>
+<code>destroy, getInitParameter, getInitParameterNames, getServletConfig, getServletContext, getServletInfo, getServletName, init, init, log, log</code></li>
+</ul>
+<ul class="blockList">
 <li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
 <!--   -->
 </a>
@@ -192,13 +211,13 @@ implements <a href="../../../../../org/apache/bookkeeper/stats/StatsProvider.htm
 <!--   -->
 </a>
 <h3>Constructor Detail</h3>
-<a name="PrometheusMetricsProvider--">
+<a name="PrometheusServlet-org.apache.bookkeeper.stats.prometheus.PrometheusMetricsProvider-">
 <!--   -->
 </a>
 <ul class="blockListLast">
 <li class="blockList">
-<h4>PrometheusMetricsProvider</h4>
-<pre>public&nbsp;PrometheusMetricsProvider()</pre>
+<h4>PrometheusServlet</h4>
+<pre>public&nbsp;PrometheusServlet(<a href="../../../../../org/apache/bookkeeper/stats/prometheus/PrometheusMetricsProvider.html" title="class in org.apache.bookkeeper.stats.prometheus">PrometheusMetricsProvider</a>&nbsp;provider)</pre>
 </li>
 </ul>
 </li>
@@ -209,54 +228,41 @@ implements <a href="../../../../../org/apache/bookkeeper/stats/StatsProvider.htm
 <!--   -->
 </a>
 <h3>Method Detail</h3>
-<a name="start-org.apache.commons.configuration.Configuration-">
-<!--   -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>start</h4>
-<pre>public&nbsp;void&nbsp;start(org.apache.commons.configuration.Configuration&nbsp;conf)</pre>
-<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../../org/apache/bookkeeper/stats/StatsProvider.html#start-org.apache.commons.configuration.Configuration-">StatsProvider</a></code></span></div>
-<div class="block">Intialize the stats provider by loading the given configuration <i>conf</i>.</div>
-<dl>
-<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
-<dd><code><a href="../../../../../org/apache/bookkeeper/stats/StatsProvider.html#start-org.apache.commons.configuration.Configuration-">start</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../org/apache/bookkeeper/stats/StatsProvider.html" title="interface in org.apache.bookkeeper.stats">StatsProvider</a></code></dd>
-<dt><span class="paramLabel">Parameters:</span></dt>
-<dd><code>conf</code> - Configuration to configure the stats provider.</dd>
-</dl>
-</li>
-</ul>
-<a name="stop--">
+<a name="doGet-javax.servlet.http.HttpServletRequest-javax.servlet.http.HttpServletResponse-">
 <!--   -->
 </a>
 <ul class="blockList">
 <li class="blockList">
-<h4>stop</h4>
-<pre>public&nbsp;void&nbsp;stop()</pre>
-<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../../org/apache/bookkeeper/stats/StatsProvider.html#stop--">StatsProvider</a></code></span></div>
-<div class="block">Close the stats provider.</div>
+<h4>doGet</h4>
+<pre>protected&nbsp;void&nbsp;doGet(javax.servlet.http.HttpServletRequest&nbsp;req,
+                     javax.servlet.http.HttpServletResponse&nbsp;resp)
+              throws javax.servlet.ServletException,
+                     <a href="http://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <dl>
-<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
-<dd><code><a href="../../../../../org/apache/bookkeeper/stats/StatsProvider.html#stop--">stop</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../org/apache/bookkeeper/stats/StatsProvider.html" title="interface in org.apache.bookkeeper.stats">StatsProvider</a></code></dd>
+<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
+<dd><code>doGet</code>&nbsp;in class&nbsp;<code>javax.servlet.http.HttpServlet</code></dd>
+<dt><span class="throwsLabel">Throws:</span></dt>
+<dd><code>javax.servlet.ServletException</code></dd>
+<dd><code><a href="http://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></code></dd>
 </dl>
 </li>
 </ul>
-<a name="getStatsLogger-java.lang.String-">
+<a name="doPost-javax.servlet.http.HttpServletRequest-javax.servlet.http.HttpServletResponse-">
 <!--   -->
 </a>
 <ul class="blockListLast">
 <li class="blockList">
-<h4>getStatsLogger</h4>
-<pre>public&nbsp;<a href="../../../../../org/apache/bookkeeper/stats/StatsLogger.html" title="interface in org.apache.bookkeeper.stats">StatsLogger</a>&nbsp;getStatsLogger(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;scope)</pre>
-<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../../org/apache/bookkeeper/stats/StatsProvider.html#getStatsLogger-java.lang.String-">StatsProvider</a></code></span></div>
-<div class="block">Return the stats logger to a given <i>scope</i>.</div>
+<h4>doPost</h4>
+<pre>protected&nbsp;void&nbsp;doPost(javax.servlet.http.HttpServletRequest&nbsp;req,
+                      javax.servlet.http.HttpServletResponse&nbsp;resp)
+               throws javax.servlet.ServletException,
+                      <a href="http://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <dl>
-<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
-<dd><code><a href="../../../../../org/apache/bookkeeper/stats/StatsProvider.html#getStatsLogger-java.lang.String-">getStatsLogger</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../org/apache/bookkeeper/stats/StatsProvider.html" title="interface in org.apache.bookkeeper.stats">StatsProvider</a></code></dd>
-<dt><span class="paramLabel">Parameters:</span></dt>
-<dd><code>scope</code> - Scope for the given stats</dd>
-<dt><span class="returnLabel">Returns:</span></dt>
-<dd>stats logger for the given <i>scope</i></dd>
+<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
+<dd><code>doPost</code>&nbsp;in class&nbsp;<code>javax.servlet.http.HttpServlet</code></dd>
+<dt><span class="throwsLabel">Throws:</span></dt>
+<dd><code>javax.servlet.ServletException</code></dd>
+<dd><code><a href="http://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></code></dd>
 </dl>
 </li>
 </ul>
@@ -279,7 +285,7 @@ implements <a href="../../../../../org/apache/bookkeeper/stats/StatsProvider.htm
 <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="class-use/PrometheusMetricsProvider.html">Use</a></li>
+<li><a href="class-use/PrometheusServlet.html">Use</a></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>
@@ -288,12 +294,12 @@ implements <a href="../../../../../org/apache/bookkeeper/stats/StatsProvider.htm
 </div>
 <div class="subNav">
 <ul class="navList">
-<li><a href="../../../../../org/apache/bookkeeper/stats/prometheus/PrometheusCounter.html" title="class in org.apache.bookkeeper.stats.prometheus"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
-<li><a href="../../../../../org/apache/bookkeeper/stats/prometheus/PrometheusOpStatsLogger.html" title="class in org.apache.bookkeeper.stats.prometheus"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+<li><a href="../../../../../org/apache/bookkeeper/stats/prometheus/PrometheusMetricsProvider.html" title="class in org.apache.bookkeeper.stats.prometheus"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../../org/apache/bookkeeper/stats/prometheus/PrometheusStatsLogger.html" title="class in org.apache.bookkeeper.stats.prometheus"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
 </ul>
 <ul class="navList">
-<li><a href="../../../../../index.html?org/apache/bookkeeper/stats/prometheus/PrometheusMetricsProvider.html" target="_top">Frames</a></li>
-<li><a href="PrometheusMetricsProvider.html" target="_top">No&nbsp;Frames</a></li>
+<li><a href="../../../../../index.html?org/apache/bookkeeper/stats/prometheus/PrometheusServlet.html" target="_top">Frames</a></li>
+<li><a href="PrometheusServlet.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>
diff --git a/content/docs/latest/api/javadoc/org/apache/bookkeeper/stats/prometheus/PrometheusStatsLogger.html b/content/docs/latest/api/javadoc/org/apache/bookkeeper/stats/prometheus/PrometheusStatsLogger.html
index 4d7746b..82dde92 100644
--- a/content/docs/latest/api/javadoc/org/apache/bookkeeper/stats/prometheus/PrometheusStatsLogger.html
+++ b/content/docs/latest/api/javadoc/org/apache/bookkeeper/stats/prometheus/PrometheusStatsLogger.html
@@ -49,8 +49,8 @@ var activeTableTab = "activeTableTab";
 </div>
 <div class="subNav">
 <ul class="navList">
-<li><a href="../../../../../org/apache/bookkeeper/stats/prometheus/PrometheusOpStatsLogger.html" title="class in org.apache.bookkeeper.stats.prometheus"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
-<li><a href="../../../../../org/apache/bookkeeper/stats/prometheus/PrometheusUtil.html" title="class in org.apache.bookkeeper.stats.prometheus"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+<li><a href="../../../../../org/apache/bookkeeper/stats/prometheus/PrometheusServlet.html" title="class in org.apache.bookkeeper.stats.prometheus"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../../org/apache/bookkeeper/stats/prometheus/PrometheusTextFormatUtil.html" title="class in org.apache.bookkeeper.stats.prometheus"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
 </ul>
 <ul class="navList">
 <li><a href="../../../../../index.html?org/apache/bookkeeper/stats/prometheus/PrometheusStatsLogger.html" target="_top">Frames</a></li>
@@ -135,7 +135,7 @@ implements <a href="../../../../../org/apache/bookkeeper/stats/StatsLogger.html"
 <th class="colOne" scope="col">Constructor and Description</th>
 </tr>
 <tr class="altColor">
-<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../org/apache/bookkeeper/stats/prometheus/PrometheusStatsLogger.html#PrometheusStatsLogger-io.prometheus.client.CollectorRegistry-java.lang.String-">PrometheusStatsLogger</a></span>(io.prometheus.client.CollectorRegistry&nbsp;registry,
+<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../org/apache/bookkeeper/stats/prometheus/PrometheusStatsLogger.html#PrometheusStatsLogger-org.apache.bookkeeper.stats.prometheus.PrometheusMetricsProvider-java.lang.String-">PrometheusStatsLogger</a></span>(<a href="../../../../../org/apache/bookkeeper/stats/prometheus/PrometheusMetricsProvider.html" title="class in org.apache.bookkeeper.stats.prometheus">PrometheusMetricsProvider</a>&nbsp;provider,
                      <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;scope)</code>&nbsp;</td>
 </tr>
 </table>
@@ -210,13 +210,13 @@ implements <a href="../../../../../org/apache/bookkeeper/stats/StatsLogger.html"
 <!--   -->
 </a>
 <h3>Constructor Detail</h3>
-<a name="PrometheusStatsLogger-io.prometheus.client.CollectorRegistry-java.lang.String-">
+<a name="PrometheusStatsLogger-org.apache.bookkeeper.stats.prometheus.PrometheusMetricsProvider-java.lang.String-">
 <!--   -->
 </a>
 <ul class="blockListLast">
 <li class="blockList">
 <h4>PrometheusStatsLogger</h4>
-<pre>PrometheusStatsLogger(io.prometheus.client.CollectorRegistry&nbsp;registry,
+<pre>PrometheusStatsLogger(<a href="../../../../../org/apache/bookkeeper/stats/prometheus/PrometheusMetricsProvider.html" title="class in org.apache.bookkeeper.stats.prometheus">PrometheusMetricsProvider</a>&nbsp;provider,
                       <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;scope)</pre>
 </li>
 </ul>
@@ -367,8 +367,8 @@ implements <a href="../../../../../org/apache/bookkeeper/stats/StatsLogger.html"
 </div>
 <div class="subNav">
 <ul class="navList">
-<li><a href="../../../../../org/apache/bookkeeper/stats/prometheus/PrometheusOpStatsLogger.html" title="class in org.apache.bookkeeper.stats.prometheus"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
-<li><a href="../../../../../org/apache/bookkeeper/stats/prometheus/PrometheusUtil.html" title="class in org.apache.bookkeeper.stats.prometheus"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+<li><a href="../../../../../org/apache/bookkeeper/stats/prometheus/PrometheusServlet.html" title="class in org.apache.bookkeeper.stats.prometheus"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../../org/apache/bookkeeper/stats/prometheus/PrometheusTextFormatUtil.html" title="class in org.apache.bookkeeper.stats.prometheus"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
 </ul>
 <ul class="navList">
 <li><a href="../../../../../index.html?org/apache/bookkeeper/stats/prometheus/PrometheusStatsLogger.html" target="_top">Frames</a></li>
diff --git a/content/docs/latest/api/javadoc/org/apache/bookkeeper/stats/prometheus/PrometheusMetricsProvider.html b/content/docs/latest/api/javadoc/org/apache/bookkeeper/stats/prometheus/PrometheusTextFormatUtil.html
similarity index 53%
copy from content/docs/latest/api/javadoc/org/apache/bookkeeper/stats/prometheus/PrometheusMetricsProvider.html
copy to content/docs/latest/api/javadoc/org/apache/bookkeeper/stats/prometheus/PrometheusTextFormatUtil.html
index 9b613f4..2c80499 100644
--- a/content/docs/latest/api/javadoc/org/apache/bookkeeper/stats/prometheus/PrometheusMetricsProvider.html
+++ b/content/docs/latest/api/javadoc/org/apache/bookkeeper/stats/prometheus/PrometheusTextFormatUtil.html
@@ -4,7 +4,7 @@
 <head>
 <!-- Generated by javadoc -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>PrometheusMetricsProvider (Apache BookKeeper :: Parent 4.7.0-SNAPSHOT API)</title>
+<title>PrometheusTextFormatUtil (Apache BookKeeper :: Parent 4.7.0-SNAPSHOT API)</title>
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -12,14 +12,14 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="PrometheusMetricsProvider (Apache BookKeeper :: Parent 4.7.0-SNAPSHOT API)";
+            parent.document.title="PrometheusTextFormatUtil (Apache BookKeeper :: Parent 4.7.0-SNAPSHOT API)";
         }
     }
     catch(err) {
     }
 //-->
-var methods = {"i0":10,"i1":10,"i2":10};
-var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"]};
+var methods = {"i0":9,"i1":9,"i2":9,"i3":9};
+var tabs = {65535:["t0","All Methods"],1:["t1","Static Methods"],8:["t4","Concrete Methods"]};
 var altColor = "altColor";
 var rowColor = "rowColor";
 var tableTab = "tableTab";
@@ -40,7 +40,7 @@ var activeTableTab = "activeTableTab";
 <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="class-use/PrometheusMetricsProvider.html">Use</a></li>
+<li><a href="class-use/PrometheusTextFormatUtil.html">Use</a></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>
@@ -49,12 +49,12 @@ var activeTableTab = "activeTableTab";
 </div>
 <div class="subNav">
 <ul class="navList">
-<li><a href="../../../../../org/apache/bookkeeper/stats/prometheus/PrometheusCounter.html" title="class in org.apache.bookkeeper.stats.prometheus"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
-<li><a href="../../../../../org/apache/bookkeeper/stats/prometheus/PrometheusOpStatsLogger.html" title="class in org.apache.bookkeeper.stats.prometheus"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+<li><a href="../../../../../org/apache/bookkeeper/stats/prometheus/PrometheusStatsLogger.html" title="class in org.apache.bookkeeper.stats.prometheus"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../../org/apache/bookkeeper/stats/prometheus/SimpleGauge.html" title="class in org.apache.bookkeeper.stats.prometheus"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
 </ul>
 <ul class="navList">
-<li><a href="../../../../../index.html?org/apache/bookkeeper/stats/prometheus/PrometheusMetricsProvider.html" target="_top">Frames</a></li>
-<li><a href="PrometheusMetricsProvider.html" target="_top">No&nbsp;Frames</a></li>
+<li><a href="../../../../../index.html?org/apache/bookkeeper/stats/prometheus/PrometheusTextFormatUtil.html" target="_top">Frames</a></li>
+<li><a href="PrometheusTextFormatUtil.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>
@@ -93,30 +93,25 @@ var activeTableTab = "activeTableTab";
 <!-- ======== START OF CLASS DATA ======== -->
 <div class="header">
 <div class="subTitle">org.apache.bookkeeper.stats.prometheus</div>
-<h2 title="Class PrometheusMetricsProvider" class="title">Class PrometheusMetricsProvider</h2>
+<h2 title="Class PrometheusTextFormatUtil" class="title">Class PrometheusTextFormatUtil</h2>
 </div>
 <div class="contentContainer">
 <ul class="inheritance">
 <li><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</a></li>
 <li>
 <ul class="inheritance">
-<li>org.apache.bookkeeper.stats.prometheus.PrometheusMetricsProvider</li>
+<li>org.apache.bookkeeper.stats.prometheus.PrometheusTextFormatUtil</li>
 </ul>
 </li>
 </ul>
 <div class="description">
 <ul class="blockList">
 <li class="blockList">
-<dl>
-<dt>All Implemented Interfaces:</dt>
-<dd><a href="../../../../../org/apache/bookkeeper/stats/StatsProvider.html" title="interface in org.apache.bookkeeper.stats">StatsProvider</a></dd>
-</dl>
 <hr>
 <br>
-<pre>public class <span class="typeNameLabel">PrometheusMetricsProvider</span>
-extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>
-implements <a href="../../../../../org/apache/bookkeeper/stats/StatsProvider.html" title="interface in org.apache.bookkeeper.stats">StatsProvider</a></pre>
-<div class="block">A <i>Prometheus</i> based <a href="../../../../../org/apache/bookkeeper/stats/StatsProvider.html" title="interface in org.apache.bookkeeper.stats"><code>StatsProvider</code></a> implementation.</div>
+<pre>public class <span class="typeNameLabel">PrometheusTextFormatUtil</span>
+extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></pre>
+<div class="block">Logic to write metrics in Prometheus text format.</div>
 </li>
 </ul>
 </div>
@@ -135,7 +130,7 @@ implements <a href="../../../../../org/apache/bookkeeper/stats/StatsProvider.htm
 <th class="colOne" scope="col">Constructor and Description</th>
 </tr>
 <tr class="altColor">
-<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../org/apache/bookkeeper/stats/prometheus/PrometheusMetricsProvider.html#PrometheusMetricsProvider--">PrometheusMetricsProvider</a></span>()</code>&nbsp;</td>
+<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../org/apache/bookkeeper/stats/prometheus/PrometheusTextFormatUtil.html#PrometheusTextFormatUtil--">PrometheusTextFormatUtil</a></span>()</code>&nbsp;</td>
 </tr>
 </table>
 </li>
@@ -147,28 +142,33 @@ implements <a href="../../../../../org/apache/bookkeeper/stats/StatsProvider.htm
 </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="t4" class="tableTab"><span><a href="javascript:show(8);">Concrete Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
+<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t1" class="tableTab"><span><a href="javascript:show(1);">Static Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t4" class="tableTab"><span><a href="javascript:show(8);">Concrete 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><a href="../../../../../org/apache/bookkeeper/stats/StatsLogger.html" title="interface in org.apache.bookkeeper.stats">StatsLogger</a></code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/bookkeeper/stats/prometheus/PrometheusMetricsProvider.html#getStatsLogger-java.lang.String-">getStatsLogger</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;scope)</code>
-<div class="block">Return the stats logger to a given <i>scope</i>.</div>
-</td>
+<td class="colFirst"><code>(package private) static void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/bookkeeper/stats/prometheus/PrometheusTextFormatUtil.html#writeCounter-java.io.Writer-java.lang.String-org.apache.bookkeeper.stats.Counter-">writeCounter</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/io/Writer.html?is-external=true" title="class or interface in java.io">Writer</a>&nbsp;w,
+            <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;name,
+            <a href="../../../../../org/apache/bookkeeper/stats/Counter.html" title="interface in org.apache.bookkeeper.stats">Counter</a>&nbsp;counter)</code>&nbsp;</td>
 </tr>
 <tr id="i1" class="rowColor">
-<td class="colFirst"><code>void</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/bookkeeper/stats/prometheus/PrometheusMetricsProvider.html#start-org.apache.commons.configuration.Configuration-">start</a></span>(org.apache.commons.configuration.Configuration&nbsp;conf)</code>
-<div class="block">Intialize the stats provider by loading the given configuration <i>conf</i>.</div>
-</td>
+<td class="colFirst"><code>(package private) static void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/bookkeeper/stats/prometheus/PrometheusTextFormatUtil.html#writeGauge-java.io.Writer-java.lang.String-org.apache.bookkeeper.stats.prometheus.SimpleGauge-">writeGauge</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/io/Writer.html?is-external=true" title="class or interface in java.io">Writer</a>&nbsp;w,
+          <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;name,
+          <a href="../../../../../org/apache/bookkeeper/stats/prometheus/SimpleGauge.html" title="class in org.apache.bookkeeper.stats.prometheus">SimpleGauge</a>&lt;? extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Number.html?is-external=true" title="class or interface in java.lang">Number</a>&gt;&nbsp;gauge)</code>&nbsp;</td>
 </tr>
 <tr id="i2" class="altColor">
-<td class="colFirst"><code>void</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/bookkeeper/stats/prometheus/PrometheusMetricsProvider.html#stop--">stop</a></span>()</code>
-<div class="block">Close the stats provider.</div>
-</td>
+<td class="colFirst"><code>(package private) static void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/bookkeeper/stats/prometheus/PrometheusTextFormatUtil.html#writeMetricsCollectedByPrometheusClient-java.io.Writer-io.prometheus.client.CollectorRegistry-">writeMetricsCollectedByPrometheusClient</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/io/Writer.html?is-external=true" title="class or interface in java.io">Writer</a>&nbsp;w,
+                                       io.prometheus.client.CollectorRegistry&nbsp;registry)</code>&nbsp;</td>
+</tr>
+<tr id="i3" class="rowColor">
+<td class="colFirst"><code>(package private) static void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/bookkeeper/stats/prometheus/PrometheusTextFormatUtil.html#writeOpStat-java.io.Writer-java.lang.String-org.apache.bookkeeper.stats.prometheus.DataSketchesOpStatsLogger-">writeOpStat</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/io/Writer.html?is-external=true" title="class or interface in java.io">Writer</a>&nbsp;w,
+           <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;name,
+           <a href="../../../../../org/apache/bookkeeper/stats/prometheus/DataSketchesOpStatsLogger.html" title="class in org.apache.bookkeeper.stats.prometheus">DataSketchesOpStatsLogger</a>&nbsp;opStat)</code>&nbsp;</td>
 </tr>
 </table>
 <ul class="blockList">
@@ -192,13 +192,13 @@ implements <a href="../../../../../org/apache/bookkeeper/stats/StatsProvider.htm
 <!--   -->
 </a>
 <h3>Constructor Detail</h3>
-<a name="PrometheusMetricsProvider--">
+<a name="PrometheusTextFormatUtil--">
 <!--   -->
 </a>
 <ul class="blockListLast">
 <li class="blockList">
-<h4>PrometheusMetricsProvider</h4>
-<pre>public&nbsp;PrometheusMetricsProvider()</pre>
+<h4>PrometheusTextFormatUtil</h4>
+<pre>public&nbsp;PrometheusTextFormatUtil()</pre>
 </li>
 </ul>
 </li>
@@ -209,54 +209,51 @@ implements <a href="../../../../../org/apache/bookkeeper/stats/StatsProvider.htm
 <!--   -->
 </a>
 <h3>Method Detail</h3>
-<a name="start-org.apache.commons.configuration.Configuration-">
+<a name="writeGauge-java.io.Writer-java.lang.String-org.apache.bookkeeper.stats.prometheus.SimpleGauge-">
 <!--   -->
 </a>
 <ul class="blockList">
 <li class="blockList">
-<h4>start</h4>
-<pre>public&nbsp;void&nbsp;start(org.apache.commons.configuration.Configuration&nbsp;conf)</pre>
-<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../../org/apache/bookkeeper/stats/StatsProvider.html#start-org.apache.commons.configuration.Configuration-">StatsProvider</a></code></span></div>
-<div class="block">Intialize the stats provider by loading the given configuration <i>conf</i>.</div>
-<dl>
-<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
-<dd><code><a href="../../../../../org/apache/bookkeeper/stats/StatsProvider.html#start-org.apache.commons.configuration.Configuration-">start</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../org/apache/bookkeeper/stats/StatsProvider.html" title="interface in org.apache.bookkeeper.stats">StatsProvider</a></code></dd>
-<dt><span class="paramLabel">Parameters:</span></dt>
-<dd><code>conf</code> - Configuration to configure the stats provider.</dd>
-</dl>
+<h4>writeGauge</h4>
+<pre>static&nbsp;void&nbsp;writeGauge(<a href="http://docs.oracle.com/javase/8/docs/api/java/io/Writer.html?is-external=true" title="class or interface in java.io">Writer</a>&nbsp;w,
+                       <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;name,
+                       <a href="../../../../../org/apache/bookkeeper/stats/prometheus/SimpleGauge.html" title="class in org.apache.bookkeeper.stats.prometheus">SimpleGauge</a>&lt;? extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Number.html?is-external=true" title="class or interface in java.lang">Number</a>&gt;&nbsp;gauge)</pre>
 </li>
 </ul>
-<a name="stop--">
+<a name="writeCounter-java.io.Writer-java.lang.String-org.apache.bookkeeper.stats.Counter-">
 <!--   -->
 </a>
 <ul class="blockList">
 <li class="blockList">
-<h4>stop</h4>
-<pre>public&nbsp;void&nbsp;stop()</pre>
-<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../../org/apache/bookkeeper/stats/StatsProvider.html#stop--">StatsProvider</a></code></span></div>
-<div class="block">Close the stats provider.</div>
-<dl>
-<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
-<dd><code><a href="../../../../../org/apache/bookkeeper/stats/StatsProvider.html#stop--">stop</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../org/apache/bookkeeper/stats/StatsProvider.html" title="interface in org.apache.bookkeeper.stats">StatsProvider</a></code></dd>
-</dl>
+<h4>writeCounter</h4>
+<pre>static&nbsp;void&nbsp;writeCounter(<a href="http://docs.oracle.com/javase/8/docs/api/java/io/Writer.html?is-external=true" title="class or interface in java.io">Writer</a>&nbsp;w,
+                         <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;name,
+                         <a href="../../../../../org/apache/bookkeeper/stats/Counter.html" title="interface in org.apache.bookkeeper.stats">Counter</a>&nbsp;counter)</pre>
+</li>
+</ul>
+<a name="writeOpStat-java.io.Writer-java.lang.String-org.apache.bookkeeper.stats.prometheus.DataSketchesOpStatsLogger-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>writeOpStat</h4>
+<pre>static&nbsp;void&nbsp;writeOpStat(<a href="http://docs.oracle.com/javase/8/docs/api/java/io/Writer.html?is-external=true" title="class or interface in java.io">Writer</a>&nbsp;w,
+                        <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;name,
+                        <a href="../../../../../org/apache/bookkeeper/stats/prometheus/DataSketchesOpStatsLogger.html" title="class in org.apache.bookkeeper.stats.prometheus">DataSketchesOpStatsLogger</a>&nbsp;opStat)</pre>
 </li>
 </ul>
-<a name="getStatsLogger-java.lang.String-">
+<a name="writeMetricsCollectedByPrometheusClient-java.io.Writer-io.prometheus.client.CollectorRegistry-">
 <!--   -->
 </a>
 <ul class="blockListLast">
 <li class="blockList">
-<h4>getStatsLogger</h4>
-<pre>public&nbsp;<a href="../../../../../org/apache/bookkeeper/stats/StatsLogger.html" title="interface in org.apache.bookkeeper.stats">StatsLogger</a>&nbsp;getStatsLogger(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;scope)</pre>
-<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../../org/apache/bookkeeper/stats/StatsProvider.html#getStatsLogger-java.lang.String-">StatsProvider</a></code></span></div>
-<div class="block">Return the stats logger to a given <i>scope</i>.</div>
+<h4>writeMetricsCollectedByPrometheusClient</h4>
+<pre>static&nbsp;void&nbsp;writeMetricsCollectedByPrometheusClient(<a href="http://docs.oracle.com/javase/8/docs/api/java/io/Writer.html?is-external=true" title="class or interface in java.io">Writer</a>&nbsp;w,
+                                                    io.prometheus.client.CollectorRegistry&nbsp;registry)
+                                             throws <a href="http://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <dl>
-<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
-<dd><code><a href="../../../../../org/apache/bookkeeper/stats/StatsProvider.html#getStatsLogger-java.lang.String-">getStatsLogger</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../org/apache/bookkeeper/stats/StatsProvider.html" title="interface in org.apache.bookkeeper.stats">StatsProvider</a></code></dd>
-<dt><span class="paramLabel">Parameters:</span></dt>
-<dd><code>scope</code> - Scope for the given stats</dd>
-<dt><span class="returnLabel">Returns:</span></dt>
-<dd>stats logger for the given <i>scope</i></dd>
+<dt><span class="throwsLabel">Throws:</span></dt>
+<dd><code><a href="http://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></code></dd>
 </dl>
 </li>
 </ul>
@@ -279,7 +276,7 @@ implements <a href="../../../../../org/apache/bookkeeper/stats/StatsProvider.htm
 <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="class-use/PrometheusMetricsProvider.html">Use</a></li>
+<li><a href="class-use/PrometheusTextFormatUtil.html">Use</a></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>
@@ -288,12 +285,12 @@ implements <a href="../../../../../org/apache/bookkeeper/stats/StatsProvider.htm
 </div>
 <div class="subNav">
 <ul class="navList">
-<li><a href="../../../../../org/apache/bookkeeper/stats/prometheus/PrometheusCounter.html" title="class in org.apache.bookkeeper.stats.prometheus"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
-<li><a href="../../../../../org/apache/bookkeeper/stats/prometheus/PrometheusOpStatsLogger.html" title="class in org.apache.bookkeeper.stats.prometheus"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+<li><a href="../../../../../org/apache/bookkeeper/stats/prometheus/PrometheusStatsLogger.html" title="class in org.apache.bookkeeper.stats.prometheus"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../../org/apache/bookkeeper/stats/prometheus/SimpleGauge.html" title="class in org.apache.bookkeeper.stats.prometheus"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
 </ul>
 <ul class="navList">
-<li><a href="../../../../../index.html?org/apache/bookkeeper/stats/prometheus/PrometheusMetricsProvider.html" target="_top">Frames</a></li>
-<li><a href="PrometheusMetricsProvider.html" target="_top">No&nbsp;Frames</a></li>
+<li><a href="../../../../../index.html?org/apache/bookkeeper/stats/prometheus/PrometheusTextFormatUtil.html" target="_top">Frames</a></li>
+<li><a href="PrometheusTextFormatUtil.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>
diff --git a/content/docs/latest/api/javadoc/org/apache/bookkeeper/stats/prometheus/PrometheusMetricsProvider.html b/content/docs/latest/api/javadoc/org/apache/bookkeeper/stats/prometheus/SimpleGauge.html
similarity index 57%
copy from content/docs/latest/api/javadoc/org/apache/bookkeeper/stats/prometheus/PrometheusMetricsProvider.html
copy to content/docs/latest/api/javadoc/org/apache/bookkeeper/stats/prometheus/SimpleGauge.html
index 9b613f4..5bc45ab 100644
--- a/content/docs/latest/api/javadoc/org/apache/bookkeeper/stats/prometheus/PrometheusMetricsProvider.html
+++ b/content/docs/latest/api/javadoc/org/apache/bookkeeper/stats/prometheus/SimpleGauge.html
@@ -4,7 +4,7 @@
 <head>
 <!-- Generated by javadoc -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>PrometheusMetricsProvider (Apache BookKeeper :: Parent 4.7.0-SNAPSHOT API)</title>
+<title>SimpleGauge (Apache BookKeeper :: Parent 4.7.0-SNAPSHOT API)</title>
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -12,13 +12,13 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="PrometheusMetricsProvider (Apache BookKeeper :: Parent 4.7.0-SNAPSHOT API)";
+            parent.document.title="SimpleGauge (Apache BookKeeper :: Parent 4.7.0-SNAPSHOT API)";
         }
     }
     catch(err) {
     }
 //-->
-var methods = {"i0":10,"i1":10,"i2":10};
+var methods = {"i0":10};
 var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"]};
 var altColor = "altColor";
 var rowColor = "rowColor";
@@ -40,7 +40,7 @@ var activeTableTab = "activeTableTab";
 <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="class-use/PrometheusMetricsProvider.html">Use</a></li>
+<li><a href="class-use/SimpleGauge.html">Use</a></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>
@@ -49,12 +49,12 @@ var activeTableTab = "activeTableTab";
 </div>
 <div class="subNav">
 <ul class="navList">
-<li><a href="../../../../../org/apache/bookkeeper/stats/prometheus/PrometheusCounter.html" title="class in org.apache.bookkeeper.stats.prometheus"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
-<li><a href="../../../../../org/apache/bookkeeper/stats/prometheus/PrometheusOpStatsLogger.html" title="class in org.apache.bookkeeper.stats.prometheus"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+<li><a href="../../../../../org/apache/bookkeeper/stats/prometheus/PrometheusTextFormatUtil.html" title="class in org.apache.bookkeeper.stats.prometheus"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li>Next&nbsp;Class</li>
 </ul>
 <ul class="navList">
-<li><a href="../../../../../index.html?org/apache/bookkeeper/stats/prometheus/PrometheusMetricsProvider.html" target="_top">Frames</a></li>
-<li><a href="PrometheusMetricsProvider.html" target="_top">No&nbsp;Frames</a></li>
+<li><a href="../../../../../index.html?org/apache/bookkeeper/stats/prometheus/SimpleGauge.html" target="_top">Frames</a></li>
+<li><a href="SimpleGauge.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>
@@ -93,30 +93,25 @@ var activeTableTab = "activeTableTab";
 <!-- ======== START OF CLASS DATA ======== -->
 <div class="header">
 <div class="subTitle">org.apache.bookkeeper.stats.prometheus</div>
-<h2 title="Class PrometheusMetricsProvider" class="title">Class PrometheusMetricsProvider</h2>
+<h2 title="Class SimpleGauge" class="title">Class SimpleGauge&lt;T extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Number.html?is-external=true" title="class or interface in java.lang">Number</a>&gt;</h2>
 </div>
 <div class="contentContainer">
 <ul class="inheritance">
 <li><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</a></li>
 <li>
 <ul class="inheritance">
-<li>org.apache.bookkeeper.stats.prometheus.PrometheusMetricsProvider</li>
+<li>org.apache.bookkeeper.stats.prometheus.SimpleGauge&lt;T&gt;</li>
 </ul>
 </li>
 </ul>
 <div class="description">
 <ul class="blockList">
 <li class="blockList">
-<dl>
-<dt>All Implemented Interfaces:</dt>
-<dd><a href="../../../../../org/apache/bookkeeper/stats/StatsProvider.html" title="interface in org.apache.bookkeeper.stats">StatsProvider</a></dd>
-</dl>
 <hr>
 <br>
-<pre>public class <span class="typeNameLabel">PrometheusMetricsProvider</span>
-extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>
-implements <a href="../../../../../org/apache/bookkeeper/stats/StatsProvider.html" title="interface in org.apache.bookkeeper.stats">StatsProvider</a></pre>
-<div class="block">A <i>Prometheus</i> based <a href="../../../../../org/apache/bookkeeper/stats/StatsProvider.html" title="interface in org.apache.bookkeeper.stats"><code>StatsProvider</code></a> implementation.</div>
+<pre>public class <span class="typeNameLabel">SimpleGauge&lt;T extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Number.html?is-external=true" title="class or interface in java.lang">Number</a>&gt;</span>
+extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></pre>
+<div class="block">A <a href="../../../../../org/apache/bookkeeper/stats/Gauge.html" title="interface in org.apache.bookkeeper.stats"><code>Gauge</code></a> implementation that forwards on the value supplier.</div>
 </li>
 </ul>
 </div>
@@ -135,7 +130,7 @@ implements <a href="../../../../../org/apache/bookkeeper/stats/StatsProvider.htm
 <th class="colOne" scope="col">Constructor and Description</th>
 </tr>
 <tr class="altColor">
-<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../org/apache/bookkeeper/stats/prometheus/PrometheusMetricsProvider.html#PrometheusMetricsProvider--">PrometheusMetricsProvider</a></span>()</code>&nbsp;</td>
+<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../org/apache/bookkeeper/stats/prometheus/SimpleGauge.html#SimpleGauge-org.apache.bookkeeper.stats.Gauge-">SimpleGauge</a></span>(<a href="../../../../../org/apache/bookkeeper/stats/Gauge.html" title="interface in org.apache.bookkeeper.stats">Gauge</a>&lt;<a href="../../../../../org/apache/bookkeeper/stats/prometheus/SimpleGauge.html" title="type parameter in SimpleGauge">T</a>&gt;&nbsp;gauge)</code>&nbsp;</td>
 </tr>
 </table>
 </li>
@@ -153,22 +148,8 @@ implements <a href="../../../../../org/apache/bookkeeper/stats/StatsProvider.htm
 <th class="colLast" scope="col">Method and Description</th>
 </tr>
 <tr id="i0" class="altColor">
-<td class="colFirst"><code><a href="../../../../../org/apache/bookkeeper/stats/StatsLogger.html" title="interface in org.apache.bookkeeper.stats">StatsLogger</a></code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/bookkeeper/stats/prometheus/PrometheusMetricsProvider.html#getStatsLogger-java.lang.String-">getStatsLogger</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;scope)</code>
-<div class="block">Return the stats logger to a given <i>scope</i>.</div>
-</td>
-</tr>
-<tr id="i1" class="rowColor">
-<td class="colFirst"><code>void</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/bookkeeper/stats/prometheus/PrometheusMetricsProvider.html#start-org.apache.commons.configuration.Configuration-">start</a></span>(org.apache.commons.configuration.Configuration&nbsp;conf)</code>
-<div class="block">Intialize the stats provider by loading the given configuration <i>conf</i>.</div>
-</td>
-</tr>
-<tr id="i2" class="altColor">
-<td class="colFirst"><code>void</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/bookkeeper/stats/prometheus/PrometheusMetricsProvider.html#stop--">stop</a></span>()</code>
-<div class="block">Close the stats provider.</div>
-</td>
+<td class="colFirst"><code>(package private) <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Number.html?is-external=true" title="class or interface in java.lang">Number</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/bookkeeper/stats/prometheus/SimpleGauge.html#getSample--">getSample</a></span>()</code>&nbsp;</td>
 </tr>
 </table>
 <ul class="blockList">
@@ -192,13 +173,13 @@ implements <a href="../../../../../org/apache/bookkeeper/stats/StatsProvider.htm
 <!--   -->
 </a>
 <h3>Constructor Detail</h3>
-<a name="PrometheusMetricsProvider--">
+<a name="SimpleGauge-org.apache.bookkeeper.stats.Gauge-">
 <!--   -->
 </a>
 <ul class="blockListLast">
 <li class="blockList">
-<h4>PrometheusMetricsProvider</h4>
-<pre>public&nbsp;PrometheusMetricsProvider()</pre>
+<h4>SimpleGauge</h4>
+<pre>public&nbsp;SimpleGauge(<a href="../../../../../org/apache/bookkeeper/stats/Gauge.html" title="interface in org.apache.bookkeeper.stats">Gauge</a>&lt;<a href="../../../../../org/apache/bookkeeper/stats/prometheus/SimpleGauge.html" title="type parameter in SimpleGauge">T</a>&gt;&nbsp;gauge)</pre>
 </li>
 </ul>
 </li>
@@ -209,55 +190,13 @@ implements <a href="../../../../../org/apache/bookkeeper/stats/StatsProvider.htm
 <!--   -->
 </a>
 <h3>Method Detail</h3>
-<a name="start-org.apache.commons.configuration.Configuration-">
-<!--   -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>start</h4>
-<pre>public&nbsp;void&nbsp;start(org.apache.commons.configuration.Configuration&nbsp;conf)</pre>
-<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../../org/apache/bookkeeper/stats/StatsProvider.html#start-org.apache.commons.configuration.Configuration-">StatsProvider</a></code></span></div>
-<div class="block">Intialize the stats provider by loading the given configuration <i>conf</i>.</div>
-<dl>
-<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
-<dd><code><a href="../../../../../org/apache/bookkeeper/stats/StatsProvider.html#start-org.apache.commons.configuration.Configuration-">start</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../org/apache/bookkeeper/stats/StatsProvider.html" title="interface in org.apache.bookkeeper.stats">StatsProvider</a></code></dd>
-<dt><span class="paramLabel">Parameters:</span></dt>
-<dd><code>conf</code> - Configuration to configure the stats provider.</dd>
-</dl>
-</li>
-</ul>
-<a name="stop--">
-<!--   -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>stop</h4>
-<pre>public&nbsp;void&nbsp;stop()</pre>
-<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../../org/apache/bookkeeper/stats/StatsProvider.html#stop--">StatsProvider</a></code></span></div>
-<div class="block">Close the stats provider.</div>
-<dl>
-<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
-<dd><code><a href="../../../../../org/apache/bookkeeper/stats/StatsProvider.html#stop--">stop</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../org/apache/bookkeeper/stats/StatsProvider.html" title="interface in org.apache.bookkeeper.stats">StatsProvider</a></code></dd>
-</dl>
-</li>
-</ul>
-<a name="getStatsLogger-java.lang.String-">
+<a name="getSample--">
 <!--   -->
 </a>
 <ul class="blockListLast">
 <li class="blockList">
-<h4>getStatsLogger</h4>
-<pre>public&nbsp;<a href="../../../../../org/apache/bookkeeper/stats/StatsLogger.html" title="interface in org.apache.bookkeeper.stats">StatsLogger</a>&nbsp;getStatsLogger(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;scope)</pre>
-<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../../org/apache/bookkeeper/stats/StatsProvider.html#getStatsLogger-java.lang.String-">StatsProvider</a></code></span></div>
-<div class="block">Return the stats logger to a given <i>scope</i>.</div>
-<dl>
-<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
-<dd><code><a href="../../../../../org/apache/bookkeeper/stats/StatsProvider.html#getStatsLogger-java.lang.String-">getStatsLogger</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../org/apache/bookkeeper/stats/StatsProvider.html" title="interface in org.apache.bookkeeper.stats">StatsProvider</a></code></dd>
-<dt><span class="paramLabel">Parameters:</span></dt>
-<dd><code>scope</code> - Scope for the given stats</dd>
-<dt><span class="returnLabel">Returns:</span></dt>
-<dd>stats logger for the given <i>scope</i></dd>
-</dl>
+<h4>getSample</h4>
+<pre><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Number.html?is-external=true" title="class or interface in java.lang">Number</a>&nbsp;getSample()</pre>
 </li>
 </ul>
 </li>
@@ -279,7 +218,7 @@ implements <a href="../../../../../org/apache/bookkeeper/stats/StatsProvider.htm
 <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="class-use/PrometheusMetricsProvider.html">Use</a></li>
+<li><a href="class-use/SimpleGauge.html">Use</a></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>
@@ -288,12 +227,12 @@ implements <a href="../../../../../org/apache/bookkeeper/stats/StatsProvider.htm
 </div>
 <div class="subNav">
 <ul class="navList">
-<li><a href="../../../../../org/apache/bookkeeper/stats/prometheus/PrometheusCounter.html" title="class in org.apache.bookkeeper.stats.prometheus"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
-<li><a href="../../../../../org/apache/bookkeeper/stats/prometheus/PrometheusOpStatsLogger.html" title="class in org.apache.bookkeeper.stats.prometheus"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+<li><a href="../../../../../org/apache/bookkeeper/stats/prometheus/PrometheusTextFormatUtil.html" title="class in org.apache.bookkeeper.stats.prometheus"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li>Next&nbsp;Class</li>
 </ul>
 <ul class="navList">
-<li><a href="../../../../../index.html?org/apache/bookkeeper/stats/prometheus/PrometheusMetricsProvider.html" target="_top">Frames</a></li>
-<li><a href="PrometheusMetricsProvider.html" target="_top">No&nbsp;Frames</a></li>
+<li><a href="../../../../../index.html?org/apache/bookkeeper/stats/prometheus/SimpleGauge.html" target="_top">Frames</a></li>
+<li><a href="SimpleGauge.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>
diff --git a/content/docs/latest/api/javadoc/org/apache/bookkeeper/stats/prometheus/class-use/DataSketchesOpStatsLogger.html b/content/docs/latest/api/javadoc/org/apache/bookkeeper/stats/prometheus/class-use/DataSketchesOpStatsLogger.html
new file mode 100644
index 0000000..22a9bdf
--- /dev/null
+++ b/content/docs/latest/api/javadoc/org/apache/bookkeeper/stats/prometheus/class-use/DataSketchesOpStatsLogger.html
@@ -0,0 +1,182 @@
+<!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 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Uses of Class org.apache.bookkeeper.stats.prometheus.DataSketchesOpStatsLogger (Apache BookKeeper :: Parent 4.7.0-SNAPSHOT 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="Uses of Class org.apache.bookkeeper.stats.prometheus.DataSketchesOpStatsLogger (Apache BookKeeper :: Parent 4.7.0-SNAPSHOT API)";
+        }
+    }
+    catch(err) {
+    }
+//-->
+</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><a href="../../../../../../org/apache/bookkeeper/stats/prometheus/DataSketchesOpStatsLogger.html" title="class in org.apache.bookkeeper.stats.prometheus">Class</a></li>
+<li class="navBarCell1Rev">Use</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>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../index.html?org/apache/bookkeeper/stats/prometheus/class-use/DataSketchesOpStatsLogger.html" target="_top">Frames</a></li>
+<li><a href="DataSketchesOpStatsLogger.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>
+<a name="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<div class="header">
+<h2 title="Uses of Class org.apache.bookkeeper.stats.prometheus.DataSketchesOpStatsLogger" class="title">Uses of Class<br>org.apache.bookkeeper.stats.prometheus.DataSketchesOpStatsLogger</h2>
+</div>
+<div class="classUseContainer">
+<ul class="blockList">
+<li class="blockList">
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing packages, and an explanation">
+<caption><span>Packages that use <a href="../../../../../../org/apache/bookkeeper/stats/prometheus/DataSketchesOpStatsLogger.html" title="class in org.apache.bookkeeper.stats.prometheus">DataSketchesOpStatsLogger</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Package</th>
+<th class="colLast" scope="col">Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><a href="#org.apache.bookkeeper.stats.prometheus">org.apache.bookkeeper.stats.prometheus</a></td>
+<td class="colLast">
+<div class="block">A stats provider implementation based on <code>https://prometheus.io/</code>.</div>
+</td>
+</tr>
+</tbody>
+</table>
+</li>
+<li class="blockList">
+<ul class="blockList">
+<li class="blockList"><a name="org.apache.bookkeeper.stats.prometheus">
+<!--   -->
+</a>
+<h3>Uses of <a href="../../../../../../org/apache/bookkeeper/stats/prometheus/DataSketchesOpStatsLogger.html" title="class in org.apache.bookkeeper.stats.prometheus">DataSketchesOpStatsLogger</a> in <a href="../../../../../../org/apache/bookkeeper/stats/prometheus/package-summary.html">org.apache.bookkeeper.stats.prometheus</a></h3>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing fields, and an explanation">
+<caption><span>Fields in <a href="../../../../../../org/apache/bookkeeper/stats/prometheus/package-summary.html">org.apache.bookkeeper.stats.prometheus</a> with type parameters of type <a href="../../../../../../org/apache/bookkeeper/stats/prometheus/DataSketchesOpStatsLogger.html" title="class in org.apache.bookkeeper.stats.prometheus">DataSketchesOpStatsLogger</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Field and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><code>(package private) <a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/ConcurrentMap.html?is-external=true" title="class or interface in java.util.concurrent">ConcurrentMap</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>,<a href="../../../../../../org/apache/bookkeeper/stats/prometheus/DataSketchesOpStatsLogger.html" title="class in org.apache.b [...]
+<td class="colLast"><span class="typeNameLabel">PrometheusMetricsProvider.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/bookkeeper/stats/prometheus/PrometheusMetricsProvider.html#opStats">opStats</a></span></code>&nbsp;</td>
+</tr>
+</tbody>
+</table>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing methods, and an explanation">
+<caption><span>Methods in <a href="../../../../../../org/apache/bookkeeper/stats/prometheus/package-summary.html">org.apache.bookkeeper.stats.prometheus</a> with parameters of type <a href="../../../../../../org/apache/bookkeeper/stats/prometheus/DataSketchesOpStatsLogger.html" title="class in org.apache.bookkeeper.stats.prometheus">DataSketchesOpStatsLogger</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><code>(package private) static void</code></td>
+<td class="colLast"><span class="typeNameLabel">PrometheusTextFormatUtil.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/bookkeeper/stats/prometheus/PrometheusTextFormatUtil.html#writeOpStat-java.io.Writer-java.lang.String-org.apache.bookkeeper.stats.prometheus.DataSketchesOpStatsLogger-">writeOpStat</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/io/Writer.html?is-external=true" title="class or interface in java.io">Writer</a>&nbsp;w,
+           <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;name,
+           <a href="../../../../../../org/apache/bookkeeper/stats/prometheus/DataSketchesOpStatsLogger.html" title="class in org.apache.bookkeeper.stats.prometheus">DataSketchesOpStatsLogger</a>&nbsp;opStat)</code>&nbsp;</td>
+</tr>
+</tbody>
+</table>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+<!-- ======= 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><a href="../../../../../../org/apache/bookkeeper/stats/prometheus/DataSketchesOpStatsLogger.html" title="class in org.apache.bookkeeper.stats.prometheus">Class</a></li>
+<li class="navBarCell1Rev">Use</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>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../index.html?org/apache/bookkeeper/stats/prometheus/class-use/DataSketchesOpStatsLogger.html" target="_top">Frames</a></li>
+<li><a href="DataSketchesOpStatsLogger.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>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2011&#x2013;2018 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/content/docs/latest/api/javadoc/org/apache/bookkeeper/stats/prometheus/class-use/PrometheusMetricsProvider.html b/content/docs/latest/api/javadoc/org/apache/bookkeeper/stats/prometheus/class-use/LongAdderCounter.html
similarity index 51%
copy from content/docs/latest/api/javadoc/org/apache/bookkeeper/stats/prometheus/class-use/PrometheusMetricsProvider.html
copy to content/docs/latest/api/javadoc/org/apache/bookkeeper/stats/prometheus/class-use/LongAdderCounter.html
index bce60c4..dbfad0d 100644
--- a/content/docs/latest/api/javadoc/org/apache/bookkeeper/stats/prometheus/class-use/PrometheusMetricsProvider.html
+++ b/content/docs/latest/api/javadoc/org/apache/bookkeeper/stats/prometheus/class-use/LongAdderCounter.html
@@ -4,7 +4,7 @@
 <head>
 <!-- Generated by javadoc -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Class org.apache.bookkeeper.stats.prometheus.PrometheusMetricsProvider (Apache BookKeeper :: Parent 4.7.0-SNAPSHOT API)</title>
+<title>Uses of Class org.apache.bookkeeper.stats.prometheus.LongAdderCounter (Apache BookKeeper :: Parent 4.7.0-SNAPSHOT API)</title>
 <link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../../script.js"></script>
 </head>
@@ -12,7 +12,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class org.apache.bookkeeper.stats.prometheus.PrometheusMetricsProvider (Apache BookKeeper :: Parent 4.7.0-SNAPSHOT API)";
+            parent.document.title="Uses of Class org.apache.bookkeeper.stats.prometheus.LongAdderCounter (Apache BookKeeper :: Parent 4.7.0-SNAPSHOT API)";
         }
     }
     catch(err) {
@@ -33,7 +33,7 @@
 <ul class="navList" title="Navigation">
 <li><a href="../../../../../../overview-summary.html">Overview</a></li>
 <li><a href="../package-summary.html">Package</a></li>
-<li><a href="../../../../../../org/apache/bookkeeper/stats/prometheus/PrometheusMetricsProvider.html" title="class in org.apache.bookkeeper.stats.prometheus">Class</a></li>
+<li><a href="../../../../../../org/apache/bookkeeper/stats/prometheus/LongAdderCounter.html" title="class in org.apache.bookkeeper.stats.prometheus">Class</a></li>
 <li class="navBarCell1Rev">Use</li>
 <li><a href="../package-tree.html">Tree</a></li>
 <li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
@@ -47,8 +47,8 @@
 <li>Next</li>
 </ul>
 <ul class="navList">
-<li><a href="../../../../../../index.html?org/apache/bookkeeper/stats/prometheus/class-use/PrometheusMetricsProvider.html" target="_top">Frames</a></li>
-<li><a href="PrometheusMetricsProvider.html" target="_top">No&nbsp;Frames</a></li>
+<li><a href="../../../../../../index.html?org/apache/bookkeeper/stats/prometheus/class-use/LongAdderCounter.html" target="_top">Frames</a></li>
+<li><a href="LongAdderCounter.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>
@@ -70,9 +70,51 @@
 </a></div>
 <!-- ========= END OF TOP NAVBAR ========= -->
 <div class="header">
-<h2 title="Uses of Class org.apache.bookkeeper.stats.prometheus.PrometheusMetricsProvider" class="title">Uses of Class<br>org.apache.bookkeeper.stats.prometheus.PrometheusMetricsProvider</h2>
+<h2 title="Uses of Class org.apache.bookkeeper.stats.prometheus.LongAdderCounter" class="title">Uses of Class<br>org.apache.bookkeeper.stats.prometheus.LongAdderCounter</h2>
+</div>
+<div class="classUseContainer">
+<ul class="blockList">
+<li class="blockList">
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing packages, and an explanation">
+<caption><span>Packages that use <a href="../../../../../../org/apache/bookkeeper/stats/prometheus/LongAdderCounter.html" title="class in org.apache.bookkeeper.stats.prometheus">LongAdderCounter</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Package</th>
+<th class="colLast" scope="col">Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><a href="#org.apache.bookkeeper.stats.prometheus">org.apache.bookkeeper.stats.prometheus</a></td>
+<td class="colLast">
+<div class="block">A stats provider implementation based on <code>https://prometheus.io/</code>.</div>
+</td>
+</tr>
+</tbody>
+</table>
+</li>
+<li class="blockList">
+<ul class="blockList">
+<li class="blockList"><a name="org.apache.bookkeeper.stats.prometheus">
+<!--   -->
+</a>
+<h3>Uses of <a href="../../../../../../org/apache/bookkeeper/stats/prometheus/LongAdderCounter.html" title="class in org.apache.bookkeeper.stats.prometheus">LongAdderCounter</a> in <a href="../../../../../../org/apache/bookkeeper/stats/prometheus/package-summary.html">org.apache.bookkeeper.stats.prometheus</a></h3>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing fields, and an explanation">
+<caption><span>Fields in <a href="../../../../../../org/apache/bookkeeper/stats/prometheus/package-summary.html">org.apache.bookkeeper.stats.prometheus</a> with type parameters of type <a href="../../../../../../org/apache/bookkeeper/stats/prometheus/LongAdderCounter.html" title="class in org.apache.bookkeeper.stats.prometheus">LongAdderCounter</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Field and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><code>(package private) <a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/ConcurrentMap.html?is-external=true" title="class or interface in java.util.concurrent">ConcurrentMap</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>,<a href="../../../../../../org/apache/bookkeeper/stats/prometheus/LongAdderCounter.html" title="class in org.apache.bookkeeper [...]
+<td class="colLast"><span class="typeNameLabel">PrometheusMetricsProvider.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/bookkeeper/stats/prometheus/PrometheusMetricsProvider.html#counters">counters</a></span></code>&nbsp;</td>
+</tr>
+</tbody>
+</table>
+</li>
+</ul>
+</li>
+</ul>
 </div>
-<div class="classUseContainer">No usage of org.apache.bookkeeper.stats.prometheus.PrometheusMetricsProvider</div>
 <!-- ======= START OF BOTTOM NAVBAR ====== -->
 <div class="bottomNav"><a name="navbar.bottom">
 <!--   -->
@@ -84,7 +126,7 @@
 <ul class="navList" title="Navigation">
 <li><a href="../../../../../../overview-summary.html">Overview</a></li>
 <li><a href="../package-summary.html">Package</a></li>
-<li><a href="../../../../../../org/apache/bookkeeper/stats/prometheus/PrometheusMetricsProvider.html" title="class in org.apache.bookkeeper.stats.prometheus">Class</a></li>
+<li><a href="../../../../../../org/apache/bookkeeper/stats/prometheus/LongAdderCounter.html" title="class in org.apache.bookkeeper.stats.prometheus">Class</a></li>
 <li class="navBarCell1Rev">Use</li>
 <li><a href="../package-tree.html">Tree</a></li>
 <li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
@@ -98,8 +140,8 @@
 <li>Next</li>
 </ul>
 <ul class="navList">
-<li><a href="../../../../../../index.html?org/apache/bookkeeper/stats/prometheus/class-use/PrometheusMetricsProvider.html" target="_top">Frames</a></li>
-<li><a href="PrometheusMetricsProvider.html" target="_top">No&nbsp;Frames</a></li>
+<li><a href="../../../../../../index.html?org/apache/bookkeeper/stats/prometheus/class-use/LongAdderCounter.html" target="_top">Frames</a></li>
+<li><a href="LongAdderCounter.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>
diff --git a/content/docs/latest/api/javadoc/org/apache/bookkeeper/stats/prometheus/class-use/PrometheusMetricsProvider.html b/content/docs/latest/api/javadoc/org/apache/bookkeeper/stats/prometheus/class-use/PrometheusMetricsProvider.html
index bce60c4..02a39ed 100644
--- a/content/docs/latest/api/javadoc/org/apache/bookkeeper/stats/prometheus/class-use/PrometheusMetricsProvider.html
+++ b/content/docs/latest/api/javadoc/org/apache/bookkeeper/stats/prometheus/class-use/PrometheusMetricsProvider.html
@@ -72,7 +72,51 @@
 <div class="header">
 <h2 title="Uses of Class org.apache.bookkeeper.stats.prometheus.PrometheusMetricsProvider" class="title">Uses of Class<br>org.apache.bookkeeper.stats.prometheus.PrometheusMetricsProvider</h2>
 </div>
-<div class="classUseContainer">No usage of org.apache.bookkeeper.stats.prometheus.PrometheusMetricsProvider</div>
+<div class="classUseContainer">
+<ul class="blockList">
+<li class="blockList">
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing packages, and an explanation">
+<caption><span>Packages that use <a href="../../../../../../org/apache/bookkeeper/stats/prometheus/PrometheusMetricsProvider.html" title="class in org.apache.bookkeeper.stats.prometheus">PrometheusMetricsProvider</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Package</th>
+<th class="colLast" scope="col">Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><a href="#org.apache.bookkeeper.stats.prometheus">org.apache.bookkeeper.stats.prometheus</a></td>
+<td class="colLast">
+<div class="block">A stats provider implementation based on <code>https://prometheus.io/</code>.</div>
+</td>
+</tr>
+</tbody>
+</table>
+</li>
+<li class="blockList">
+<ul class="blockList">
+<li class="blockList"><a name="org.apache.bookkeeper.stats.prometheus">
+<!--   -->
+</a>
+<h3>Uses of <a href="../../../../../../org/apache/bookkeeper/stats/prometheus/PrometheusMetricsProvider.html" title="class in org.apache.bookkeeper.stats.prometheus">PrometheusMetricsProvider</a> in <a href="../../../../../../org/apache/bookkeeper/stats/prometheus/package-summary.html">org.apache.bookkeeper.stats.prometheus</a></h3>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing constructors, and an explanation">
+<caption><span>Constructors in <a href="../../../../../../org/apache/bookkeeper/stats/prometheus/package-summary.html">org.apache.bookkeeper.stats.prometheus</a> with parameters of type <a href="../../../../../../org/apache/bookkeeper/stats/prometheus/PrometheusMetricsProvider.html" title="class in org.apache.bookkeeper.stats.prometheus">PrometheusMetricsProvider</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colOne" scope="col">Constructor and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/bookkeeper/stats/prometheus/PrometheusServlet.html#PrometheusServlet-org.apache.bookkeeper.stats.prometheus.PrometheusMetricsProvider-">PrometheusServlet</a></span>(<a href="../../../../../../org/apache/bookkeeper/stats/prometheus/PrometheusMetricsProvider.html" title="class in org.apache.bookkeeper.stats.prometheus">PrometheusMetricsProvider</a>&nbsp;provider)</code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/bookkeeper/stats/prometheus/PrometheusStatsLogger.html#PrometheusStatsLogger-org.apache.bookkeeper.stats.prometheus.PrometheusMetricsProvider-java.lang.String-">PrometheusStatsLogger</a></span>(<a href="../../../../../../org/apache/bookkeeper/stats/prometheus/PrometheusMetricsProvider.html" title="class in org.apache.bookkeeper.stats.prometheus">PrometheusMetricsProvider</a>&nbsp;provider,
+                     <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;scope)</code>&nbsp;</td>
+</tr>
+</tbody>
+</table>
+</li>
+</ul>
+</li>
+</ul>
+</div>
 <!-- ======= START OF BOTTOM NAVBAR ====== -->
 <div class="bottomNav"><a name="navbar.bottom">
 <!--   -->
diff --git a/content/docs/latest/api/javadoc/org/apache/bookkeeper/stats/prometheus/class-use/PrometheusMetricsProvider.html b/content/docs/latest/api/javadoc/org/apache/bookkeeper/stats/prometheus/class-use/PrometheusServlet.html
similarity index 81%
copy from content/docs/latest/api/javadoc/org/apache/bookkeeper/stats/prometheus/class-use/PrometheusMetricsProvider.html
copy to content/docs/latest/api/javadoc/org/apache/bookkeeper/stats/prometheus/class-use/PrometheusServlet.html
index bce60c4..29eda89 100644
--- a/content/docs/latest/api/javadoc/org/apache/bookkeeper/stats/prometheus/class-use/PrometheusMetricsProvider.html
+++ b/content/docs/latest/api/javadoc/org/apache/bookkeeper/stats/prometheus/class-use/PrometheusServlet.html
@@ -4,7 +4,7 @@
 <head>
 <!-- Generated by javadoc -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Class org.apache.bookkeeper.stats.prometheus.PrometheusMetricsProvider (Apache BookKeeper :: Parent 4.7.0-SNAPSHOT API)</title>
+<title>Uses of Class org.apache.bookkeeper.stats.prometheus.PrometheusServlet (Apache BookKeeper :: Parent 4.7.0-SNAPSHOT API)</title>
 <link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../../script.js"></script>
 </head>
@@ -12,7 +12,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class org.apache.bookkeeper.stats.prometheus.PrometheusMetricsProvider (Apache BookKeeper :: Parent 4.7.0-SNAPSHOT API)";
+            parent.document.title="Uses of Class org.apache.bookkeeper.stats.prometheus.PrometheusServlet (Apache BookKeeper :: Parent 4.7.0-SNAPSHOT API)";
         }
     }
     catch(err) {
@@ -33,7 +33,7 @@
 <ul class="navList" title="Navigation">
 <li><a href="../../../../../../overview-summary.html">Overview</a></li>
 <li><a href="../package-summary.html">Package</a></li>
-<li><a href="../../../../../../org/apache/bookkeeper/stats/prometheus/PrometheusMetricsProvider.html" title="class in org.apache.bookkeeper.stats.prometheus">Class</a></li>
+<li><a href="../../../../../../org/apache/bookkeeper/stats/prometheus/PrometheusServlet.html" title="class in org.apache.bookkeeper.stats.prometheus">Class</a></li>
 <li class="navBarCell1Rev">Use</li>
 <li><a href="../package-tree.html">Tree</a></li>
 <li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
@@ -47,8 +47,8 @@
 <li>Next</li>
 </ul>
 <ul class="navList">
-<li><a href="../../../../../../index.html?org/apache/bookkeeper/stats/prometheus/class-use/PrometheusMetricsProvider.html" target="_top">Frames</a></li>
-<li><a href="PrometheusMetricsProvider.html" target="_top">No&nbsp;Frames</a></li>
+<li><a href="../../../../../../index.html?org/apache/bookkeeper/stats/prometheus/class-use/PrometheusServlet.html" target="_top">Frames</a></li>
+<li><a href="PrometheusServlet.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>
@@ -70,9 +70,9 @@
 </a></div>
 <!-- ========= END OF TOP NAVBAR ========= -->
 <div class="header">
-<h2 title="Uses of Class org.apache.bookkeeper.stats.prometheus.PrometheusMetricsProvider" class="title">Uses of Class<br>org.apache.bookkeeper.stats.prometheus.PrometheusMetricsProvider</h2>
+<h2 title="Uses of Class org.apache.bookkeeper.stats.prometheus.PrometheusServlet" class="title">Uses of Class<br>org.apache.bookkeeper.stats.prometheus.PrometheusServlet</h2>
 </div>
-<div class="classUseContainer">No usage of org.apache.bookkeeper.stats.prometheus.PrometheusMetricsProvider</div>
+<div class="classUseContainer">No usage of org.apache.bookkeeper.stats.prometheus.PrometheusServlet</div>
 <!-- ======= START OF BOTTOM NAVBAR ====== -->
 <div class="bottomNav"><a name="navbar.bottom">
 <!--   -->
@@ -84,7 +84,7 @@
 <ul class="navList" title="Navigation">
 <li><a href="../../../../../../overview-summary.html">Overview</a></li>
 <li><a href="../package-summary.html">Package</a></li>
-<li><a href="../../../../../../org/apache/bookkeeper/stats/prometheus/PrometheusMetricsProvider.html" title="class in org.apache.bookkeeper.stats.prometheus">Class</a></li>
+<li><a href="../../../../../../org/apache/bookkeeper/stats/prometheus/PrometheusServlet.html" title="class in org.apache.bookkeeper.stats.prometheus">Class</a></li>
 <li class="navBarCell1Rev">Use</li>
 <li><a href="../package-tree.html">Tree</a></li>
 <li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
@@ -98,8 +98,8 @@
 <li>Next</li>
 </ul>
 <ul class="navList">
-<li><a href="../../../../../../index.html?org/apache/bookkeeper/stats/prometheus/class-use/PrometheusMetricsProvider.html" target="_top">Frames</a></li>
-<li><a href="PrometheusMetricsProvider.html" target="_top">No&nbsp;Frames</a></li>
+<li><a href="../../../../../../index.html?org/apache/bookkeeper/stats/prometheus/class-use/PrometheusServlet.html" target="_top">Frames</a></li>
+<li><a href="PrometheusServlet.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>
diff --git a/content/docs/latest/api/javadoc/org/apache/bookkeeper/stats/prometheus/class-use/PrometheusMetricsProvider.html b/content/docs/latest/api/javadoc/org/apache/bookkeeper/stats/prometheus/class-use/PrometheusTextFormatUtil.html
similarity index 81%
copy from content/docs/latest/api/javadoc/org/apache/bookkeeper/stats/prometheus/class-use/PrometheusMetricsProvider.html
copy to content/docs/latest/api/javadoc/org/apache/bookkeeper/stats/prometheus/class-use/PrometheusTextFormatUtil.html
index bce60c4..402d5e3 100644
--- a/content/docs/latest/api/javadoc/org/apache/bookkeeper/stats/prometheus/class-use/PrometheusMetricsProvider.html
+++ b/content/docs/latest/api/javadoc/org/apache/bookkeeper/stats/prometheus/class-use/PrometheusTextFormatUtil.html
@@ -4,7 +4,7 @@
 <head>
 <!-- Generated by javadoc -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Class org.apache.bookkeeper.stats.prometheus.PrometheusMetricsProvider (Apache BookKeeper :: Parent 4.7.0-SNAPSHOT API)</title>
+<title>Uses of Class org.apache.bookkeeper.stats.prometheus.PrometheusTextFormatUtil (Apache BookKeeper :: Parent 4.7.0-SNAPSHOT API)</title>
 <link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../../script.js"></script>
 </head>
@@ -12,7 +12,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class org.apache.bookkeeper.stats.prometheus.PrometheusMetricsProvider (Apache BookKeeper :: Parent 4.7.0-SNAPSHOT API)";
+            parent.document.title="Uses of Class org.apache.bookkeeper.stats.prometheus.PrometheusTextFormatUtil (Apache BookKeeper :: Parent 4.7.0-SNAPSHOT API)";
         }
     }
     catch(err) {
@@ -33,7 +33,7 @@
 <ul class="navList" title="Navigation">
 <li><a href="../../../../../../overview-summary.html">Overview</a></li>
 <li><a href="../package-summary.html">Package</a></li>
-<li><a href="../../../../../../org/apache/bookkeeper/stats/prometheus/PrometheusMetricsProvider.html" title="class in org.apache.bookkeeper.stats.prometheus">Class</a></li>
+<li><a href="../../../../../../org/apache/bookkeeper/stats/prometheus/PrometheusTextFormatUtil.html" title="class in org.apache.bookkeeper.stats.prometheus">Class</a></li>
 <li class="navBarCell1Rev">Use</li>
 <li><a href="../package-tree.html">Tree</a></li>
 <li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
@@ -47,8 +47,8 @@
 <li>Next</li>
 </ul>
 <ul class="navList">
-<li><a href="../../../../../../index.html?org/apache/bookkeeper/stats/prometheus/class-use/PrometheusMetricsProvider.html" target="_top">Frames</a></li>
-<li><a href="PrometheusMetricsProvider.html" target="_top">No&nbsp;Frames</a></li>
+<li><a href="../../../../../../index.html?org/apache/bookkeeper/stats/prometheus/class-use/PrometheusTextFormatUtil.html" target="_top">Frames</a></li>
+<li><a href="PrometheusTextFormatUtil.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>
@@ -70,9 +70,9 @@
 </a></div>
 <!-- ========= END OF TOP NAVBAR ========= -->
 <div class="header">
-<h2 title="Uses of Class org.apache.bookkeeper.stats.prometheus.PrometheusMetricsProvider" class="title">Uses of Class<br>org.apache.bookkeeper.stats.prometheus.PrometheusMetricsProvider</h2>
+<h2 title="Uses of Class org.apache.bookkeeper.stats.prometheus.PrometheusTextFormatUtil" class="title">Uses of Class<br>org.apache.bookkeeper.stats.prometheus.PrometheusTextFormatUtil</h2>
 </div>
-<div class="classUseContainer">No usage of org.apache.bookkeeper.stats.prometheus.PrometheusMetricsProvider</div>
+<div class="classUseContainer">No usage of org.apache.bookkeeper.stats.prometheus.PrometheusTextFormatUtil</div>
 <!-- ======= START OF BOTTOM NAVBAR ====== -->
 <div class="bottomNav"><a name="navbar.bottom">
 <!--   -->
@@ -84,7 +84,7 @@
 <ul class="navList" title="Navigation">
 <li><a href="../../../../../../overview-summary.html">Overview</a></li>
 <li><a href="../package-summary.html">Package</a></li>
-<li><a href="../../../../../../org/apache/bookkeeper/stats/prometheus/PrometheusMetricsProvider.html" title="class in org.apache.bookkeeper.stats.prometheus">Class</a></li>
+<li><a href="../../../../../../org/apache/bookkeeper/stats/prometheus/PrometheusTextFormatUtil.html" title="class in org.apache.bookkeeper.stats.prometheus">Class</a></li>
 <li class="navBarCell1Rev">Use</li>
 <li><a href="../package-tree.html">Tree</a></li>
 <li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
@@ -98,8 +98,8 @@
 <li>Next</li>
 </ul>
 <ul class="navList">
-<li><a href="../../../../../../index.html?org/apache/bookkeeper/stats/prometheus/class-use/PrometheusMetricsProvider.html" target="_top">Frames</a></li>
-<li><a href="PrometheusMetricsProvider.html" target="_top">No&nbsp;Frames</a></li>
+<li><a href="../../../../../../index.html?org/apache/bookkeeper/stats/prometheus/class-use/PrometheusTextFormatUtil.html" target="_top">Frames</a></li>
+<li><a href="PrometheusTextFormatUtil.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>
diff --git a/content/docs/latest/api/javadoc/org/apache/bookkeeper/stats/prometheus/class-use/SimpleGauge.html b/content/docs/latest/api/javadoc/org/apache/bookkeeper/stats/prometheus/class-use/SimpleGauge.html
new file mode 100644
index 0000000..ef10de8
--- /dev/null
+++ b/content/docs/latest/api/javadoc/org/apache/bookkeeper/stats/prometheus/class-use/SimpleGauge.html
@@ -0,0 +1,182 @@
+<!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 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Uses of Class org.apache.bookkeeper.stats.prometheus.SimpleGauge (Apache BookKeeper :: Parent 4.7.0-SNAPSHOT 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="Uses of Class org.apache.bookkeeper.stats.prometheus.SimpleGauge (Apache BookKeeper :: Parent 4.7.0-SNAPSHOT API)";
+        }
+    }
+    catch(err) {
+    }
+//-->
+</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><a href="../../../../../../org/apache/bookkeeper/stats/prometheus/SimpleGauge.html" title="class in org.apache.bookkeeper.stats.prometheus">Class</a></li>
+<li class="navBarCell1Rev">Use</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>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../index.html?org/apache/bookkeeper/stats/prometheus/class-use/SimpleGauge.html" target="_top">Frames</a></li>
+<li><a href="SimpleGauge.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>
+<a name="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<div class="header">
+<h2 title="Uses of Class org.apache.bookkeeper.stats.prometheus.SimpleGauge" class="title">Uses of Class<br>org.apache.bookkeeper.stats.prometheus.SimpleGauge</h2>
+</div>
+<div class="classUseContainer">
+<ul class="blockList">
+<li class="blockList">
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing packages, and an explanation">
+<caption><span>Packages that use <a href="../../../../../../org/apache/bookkeeper/stats/prometheus/SimpleGauge.html" title="class in org.apache.bookkeeper.stats.prometheus">SimpleGauge</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Package</th>
+<th class="colLast" scope="col">Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><a href="#org.apache.bookkeeper.stats.prometheus">org.apache.bookkeeper.stats.prometheus</a></td>
+<td class="colLast">
+<div class="block">A stats provider implementation based on <code>https://prometheus.io/</code>.</div>
+</td>
+</tr>
+</tbody>
+</table>
+</li>
+<li class="blockList">
+<ul class="blockList">
+<li class="blockList"><a name="org.apache.bookkeeper.stats.prometheus">
+<!--   -->
+</a>
+<h3>Uses of <a href="../../../../../../org/apache/bookkeeper/stats/prometheus/SimpleGauge.html" title="class in org.apache.bookkeeper.stats.prometheus">SimpleGauge</a> in <a href="../../../../../../org/apache/bookkeeper/stats/prometheus/package-summary.html">org.apache.bookkeeper.stats.prometheus</a></h3>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing fields, and an explanation">
+<caption><span>Fields in <a href="../../../../../../org/apache/bookkeeper/stats/prometheus/package-summary.html">org.apache.bookkeeper.stats.prometheus</a> with type parameters of type <a href="../../../../../../org/apache/bookkeeper/stats/prometheus/SimpleGauge.html" title="class in org.apache.bookkeeper.stats.prometheus">SimpleGauge</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Field and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><code>(package private) <a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/ConcurrentMap.html?is-external=true" title="class or interface in java.util.concurrent">ConcurrentMap</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>,<a href="../../../../../../org/apache/bookkeeper/stats/prometheus/SimpleGauge.html" title="class in org.apache.bookkeeper.stat [...]
+<td class="colLast"><span class="typeNameLabel">PrometheusMetricsProvider.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/bookkeeper/stats/prometheus/PrometheusMetricsProvider.html#gauges">gauges</a></span></code>&nbsp;</td>
+</tr>
+</tbody>
+</table>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing methods, and an explanation">
+<caption><span>Methods in <a href="../../../../../../org/apache/bookkeeper/stats/prometheus/package-summary.html">org.apache.bookkeeper.stats.prometheus</a> with parameters of type <a href="../../../../../../org/apache/bookkeeper/stats/prometheus/SimpleGauge.html" title="class in org.apache.bookkeeper.stats.prometheus">SimpleGauge</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><code>(package private) static void</code></td>
+<td class="colLast"><span class="typeNameLabel">PrometheusTextFormatUtil.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/bookkeeper/stats/prometheus/PrometheusTextFormatUtil.html#writeGauge-java.io.Writer-java.lang.String-org.apache.bookkeeper.stats.prometheus.SimpleGauge-">writeGauge</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/io/Writer.html?is-external=true" title="class or interface in java.io">Writer</a>&nbsp;w,
+          <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;name,
+          <a href="../../../../../../org/apache/bookkeeper/stats/prometheus/SimpleGauge.html" title="class in org.apache.bookkeeper.stats.prometheus">SimpleGauge</a>&lt;? extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Number.html?is-external=true" title="class or interface in java.lang">Number</a>&gt;&nbsp;gauge)</code>&nbsp;</td>
+</tr>
+</tbody>
+</table>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+<!-- ======= 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><a href="../../../../../../org/apache/bookkeeper/stats/prometheus/SimpleGauge.html" title="class in org.apache.bookkeeper.stats.prometheus">Class</a></li>
+<li class="navBarCell1Rev">Use</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>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../index.html?org/apache/bookkeeper/stats/prometheus/class-use/SimpleGauge.html" target="_top">Frames</a></li>
+<li><a href="SimpleGauge.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>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2011&#x2013;2018 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/content/docs/latest/api/javadoc/org/apache/bookkeeper/stats/prometheus/package-frame.html b/content/docs/latest/api/javadoc/org/apache/bookkeeper/stats/prometheus/package-frame.html
index 7871ad4..7e429b9 100644
--- a/content/docs/latest/api/javadoc/org/apache/bookkeeper/stats/prometheus/package-frame.html
+++ b/content/docs/latest/api/javadoc/org/apache/bookkeeper/stats/prometheus/package-frame.html
@@ -13,11 +13,13 @@
 <div class="indexContainer">
 <h2 title="Classes">Classes</h2>
 <ul title="Classes">
-<li><a href="PrometheusCounter.html" title="class in org.apache.bookkeeper.stats.prometheus" target="classFrame">PrometheusCounter</a></li>
+<li><a href="DataSketchesOpStatsLogger.html" title="class in org.apache.bookkeeper.stats.prometheus" target="classFrame">DataSketchesOpStatsLogger</a></li>
+<li><a href="LongAdderCounter.html" title="class in org.apache.bookkeeper.stats.prometheus" target="classFrame">LongAdderCounter</a></li>
 <li><a href="PrometheusMetricsProvider.html" title="class in org.apache.bookkeeper.stats.prometheus" target="classFrame">PrometheusMetricsProvider</a></li>
-<li><a href="PrometheusOpStatsLogger.html" title="class in org.apache.bookkeeper.stats.prometheus" target="classFrame">PrometheusOpStatsLogger</a></li>
+<li><a href="PrometheusServlet.html" title="class in org.apache.bookkeeper.stats.prometheus" target="classFrame">PrometheusServlet</a></li>
 <li><a href="PrometheusStatsLogger.html" title="class in org.apache.bookkeeper.stats.prometheus" target="classFrame">PrometheusStatsLogger</a></li>
-<li><a href="PrometheusUtil.html" title="class in org.apache.bookkeeper.stats.prometheus" target="classFrame">PrometheusUtil</a></li>
+<li><a href="PrometheusTextFormatUtil.html" title="class in org.apache.bookkeeper.stats.prometheus" target="classFrame">PrometheusTextFormatUtil</a></li>
+<li><a href="SimpleGauge.html" title="class in org.apache.bookkeeper.stats.prometheus" target="classFrame">SimpleGauge</a></li>
 </ul>
 </div>
 </body>
diff --git a/content/docs/latest/api/javadoc/org/apache/bookkeeper/stats/prometheus/package-summary.html b/content/docs/latest/api/javadoc/org/apache/bookkeeper/stats/prometheus/package-summary.html
index 1c11917..bfc0954 100644
--- a/content/docs/latest/api/javadoc/org/apache/bookkeeper/stats/prometheus/package-summary.html
+++ b/content/docs/latest/api/javadoc/org/apache/bookkeeper/stats/prometheus/package-summary.html
@@ -87,33 +87,45 @@
 </tr>
 <tbody>
 <tr class="altColor">
-<td class="colFirst"><a href="../../../../../org/apache/bookkeeper/stats/prometheus/PrometheusCounter.html" title="class in org.apache.bookkeeper.stats.prometheus">PrometheusCounter</a></td>
+<td class="colFirst"><a href="../../../../../org/apache/bookkeeper/stats/prometheus/DataSketchesOpStatsLogger.html" title="class in org.apache.bookkeeper.stats.prometheus">DataSketchesOpStatsLogger</a></td>
 <td class="colLast">
-<div class="block">A <a href="../../../../../org/apache/bookkeeper/stats/Counter.html" title="interface in org.apache.bookkeeper.stats"><code>Counter</code></a> implementation based on <i>Prometheus</i> metrics library.</div>
+<div class="block">OpStatsLogger implementation that uses DataSketches library to calculate the approximated latency quantiles.</div>
 </td>
 </tr>
 <tr class="rowColor">
-<td class="colFirst"><a href="../../../../../org/apache/bookkeeper/stats/prometheus/PrometheusMetricsProvider.html" title="class in org.apache.bookkeeper.stats.prometheus">PrometheusMetricsProvider</a></td>
+<td class="colFirst"><a href="../../../../../org/apache/bookkeeper/stats/prometheus/LongAdderCounter.html" title="class in org.apache.bookkeeper.stats.prometheus">LongAdderCounter</a></td>
 <td class="colLast">
-<div class="block">A <i>Prometheus</i> based <a href="../../../../../org/apache/bookkeeper/stats/StatsProvider.html" title="interface in org.apache.bookkeeper.stats"><code>StatsProvider</code></a> implementation.</div>
+<div class="block"><a href="../../../../../org/apache/bookkeeper/stats/Counter.html" title="interface in org.apache.bookkeeper.stats"><code>Counter</code></a> implementation based on <a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/atomic/LongAdder.html?is-external=true" title="class or interface in java.util.concurrent.atomic"><code>LongAdder</code></a>.</div>
 </td>
 </tr>
 <tr class="altColor">
-<td class="colFirst"><a href="../../../../../org/apache/bookkeeper/stats/prometheus/PrometheusOpStatsLogger.html" title="class in org.apache.bookkeeper.stats.prometheus">PrometheusOpStatsLogger</a></td>
+<td class="colFirst"><a href="../../../../../org/apache/bookkeeper/stats/prometheus/PrometheusMetricsProvider.html" title="class in org.apache.bookkeeper.stats.prometheus">PrometheusMetricsProvider</a></td>
 <td class="colLast">
-<div class="block">A <code>Prometheus</code> based <a href="../../../../../org/apache/bookkeeper/stats/OpStatsLogger.html" title="interface in org.apache.bookkeeper.stats"><code>OpStatsLogger</code></a> implementation.</div>
+<div class="block">A <i>Prometheus</i> based <a href="../../../../../org/apache/bookkeeper/stats/StatsProvider.html" title="interface in org.apache.bookkeeper.stats"><code>StatsProvider</code></a> implementation.</div>
 </td>
 </tr>
 <tr class="rowColor">
+<td class="colFirst"><a href="../../../../../org/apache/bookkeeper/stats/prometheus/PrometheusServlet.html" title="class in org.apache.bookkeeper.stats.prometheus">PrometheusServlet</a></td>
+<td class="colLast">
+<div class="block">Servlet used to export metrics in prometheus text format.</div>
+</td>
+</tr>
+<tr class="altColor">
 <td class="colFirst"><a href="../../../../../org/apache/bookkeeper/stats/prometheus/PrometheusStatsLogger.html" title="class in org.apache.bookkeeper.stats.prometheus">PrometheusStatsLogger</a></td>
 <td class="colLast">
 <div class="block">A <code>Prometheus</code> based <a href="../../../../../org/apache/bookkeeper/stats/StatsLogger.html" title="interface in org.apache.bookkeeper.stats"><code>StatsLogger</code></a> implementation.</div>
 </td>
 </tr>
+<tr class="rowColor">
+<td class="colFirst"><a href="../../../../../org/apache/bookkeeper/stats/prometheus/PrometheusTextFormatUtil.html" title="class in org.apache.bookkeeper.stats.prometheus">PrometheusTextFormatUtil</a></td>
+<td class="colLast">
+<div class="block">Logic to write metrics in Prometheus text format.</div>
+</td>
+</tr>
 <tr class="altColor">
-<td class="colFirst"><a href="../../../../../org/apache/bookkeeper/stats/prometheus/PrometheusUtil.html" title="class in org.apache.bookkeeper.stats.prometheus">PrometheusUtil</a></td>
+<td class="colFirst"><a href="../../../../../org/apache/bookkeeper/stats/prometheus/SimpleGauge.html" title="class in org.apache.bookkeeper.stats.prometheus">SimpleGauge</a>&lt;T extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Number.html?is-external=true" title="class or interface in java.lang">Number</a>&gt;</td>
 <td class="colLast">
-<div class="block">Container for Prometheus utility methods.</div>
+<div class="block">A <a href="../../../../../org/apache/bookkeeper/stats/Gauge.html" title="interface in org.apache.bookkeeper.stats"><code>Gauge</code></a> implementation that forwards on the value supplier.</div>
 </td>
 </tr>
 </tbody>
diff --git a/content/docs/latest/api/javadoc/org/apache/bookkeeper/stats/prometheus/package-tree.html b/content/docs/latest/api/javadoc/org/apache/bookkeeper/stats/prometheus/package-tree.html
index 40c9d3c..dfc8839 100644
--- a/content/docs/latest/api/javadoc/org/apache/bookkeeper/stats/prometheus/package-tree.html
+++ b/content/docs/latest/api/javadoc/org/apache/bookkeeper/stats/prometheus/package-tree.html
@@ -81,11 +81,21 @@
 <ul>
 <li type="circle">java.lang.<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang"><span class="typeNameLink">Object</span></a>
 <ul>
-<li type="circle">org.apache.bookkeeper.stats.prometheus.<a href="../../../../../org/apache/bookkeeper/stats/prometheus/PrometheusCounter.html" title="class in org.apache.bookkeeper.stats.prometheus"><span class="typeNameLink">PrometheusCounter</span></a> (implements org.apache.bookkeeper.stats.<a href="../../../../../org/apache/bookkeeper/stats/Counter.html" title="interface in org.apache.bookkeeper.stats">Counter</a>)</li>
+<li type="circle">org.apache.bookkeeper.stats.prometheus.<a href="../../../../../org/apache/bookkeeper/stats/prometheus/DataSketchesOpStatsLogger.html" title="class in org.apache.bookkeeper.stats.prometheus"><span class="typeNameLink">DataSketchesOpStatsLogger</span></a> (implements org.apache.bookkeeper.stats.<a href="../../../../../org/apache/bookkeeper/stats/OpStatsLogger.html" title="interface in org.apache.bookkeeper.stats">OpStatsLogger</a>)</li>
+<li type="circle">javax.servlet.GenericServlet (implements java.io.<a href="http://docs.oracle.com/javase/8/docs/api/java/io/Serializable.html?is-external=true" title="class or interface in java.io">Serializable</a>, javax.servlet.Servlet, javax.servlet.ServletConfig)
+<ul>
+<li type="circle">javax.servlet.http.HttpServlet (implements java.io.<a href="http://docs.oracle.com/javase/8/docs/api/java/io/Serializable.html?is-external=true" title="class or interface in java.io">Serializable</a>)
+<ul>
+<li type="circle">org.apache.bookkeeper.stats.prometheus.<a href="../../../../../org/apache/bookkeeper/stats/prometheus/PrometheusServlet.html" title="class in org.apache.bookkeeper.stats.prometheus"><span class="typeNameLink">PrometheusServlet</span></a></li>
+</ul>
+</li>
+</ul>
+</li>
+<li type="circle">org.apache.bookkeeper.stats.prometheus.<a href="../../../../../org/apache/bookkeeper/stats/prometheus/LongAdderCounter.html" title="class in org.apache.bookkeeper.stats.prometheus"><span class="typeNameLink">LongAdderCounter</span></a> (implements org.apache.bookkeeper.stats.<a href="../../../../../org/apache/bookkeeper/stats/Counter.html" title="interface in org.apache.bookkeeper.stats">Counter</a>)</li>
 <li type="circle">org.apache.bookkeeper.stats.prometheus.<a href="../../../../../org/apache/bookkeeper/stats/prometheus/PrometheusMetricsProvider.html" title="class in org.apache.bookkeeper.stats.prometheus"><span class="typeNameLink">PrometheusMetricsProvider</span></a> (implements org.apache.bookkeeper.stats.<a href="../../../../../org/apache/bookkeeper/stats/StatsProvider.html" title="interface in org.apache.bookkeeper.stats">StatsProvider</a>)</li>
-<li type="circle">org.apache.bookkeeper.stats.prometheus.<a href="../../../../../org/apache/bookkeeper/stats/prometheus/PrometheusOpStatsLogger.html" title="class in org.apache.bookkeeper.stats.prometheus"><span class="typeNameLink">PrometheusOpStatsLogger</span></a> (implements org.apache.bookkeeper.stats.<a href="../../../../../org/apache/bookkeeper/stats/OpStatsLogger.html" title="interface in org.apache.bookkeeper.stats">OpStatsLogger</a>)</li>
 <li type="circle">org.apache.bookkeeper.stats.prometheus.<a href="../../../../../org/apache/bookkeeper/stats/prometheus/PrometheusStatsLogger.html" title="class in org.apache.bookkeeper.stats.prometheus"><span class="typeNameLink">PrometheusStatsLogger</span></a> (implements org.apache.bookkeeper.stats.<a href="../../../../../org/apache/bookkeeper/stats/StatsLogger.html" title="interface in org.apache.bookkeeper.stats">StatsLogger</a>)</li>
-<li type="circle">org.apache.bookkeeper.stats.prometheus.<a href="../../../../../org/apache/bookkeeper/stats/prometheus/PrometheusUtil.html" title="class in org.apache.bookkeeper.stats.prometheus"><span class="typeNameLink">PrometheusUtil</span></a></li>
+<li type="circle">org.apache.bookkeeper.stats.prometheus.<a href="../../../../../org/apache/bookkeeper/stats/prometheus/PrometheusTextFormatUtil.html" title="class in org.apache.bookkeeper.stats.prometheus"><span class="typeNameLink">PrometheusTextFormatUtil</span></a></li>
+<li type="circle">org.apache.bookkeeper.stats.prometheus.<a href="../../../../../org/apache/bookkeeper/stats/prometheus/SimpleGauge.html" title="class in org.apache.bookkeeper.stats.prometheus"><span class="typeNameLink">SimpleGauge</span></a>&lt;T&gt;</li>
 </ul>
 </li>
 </ul>
diff --git a/content/docs/latest/api/javadoc/org/apache/bookkeeper/stats/prometheus/package-use.html b/content/docs/latest/api/javadoc/org/apache/bookkeeper/stats/prometheus/package-use.html
index b21d67f..022a590 100644
--- a/content/docs/latest/api/javadoc/org/apache/bookkeeper/stats/prometheus/package-use.html
+++ b/content/docs/latest/api/javadoc/org/apache/bookkeeper/stats/prometheus/package-use.html
@@ -72,7 +72,59 @@
 <div class="header">
 <h1 title="Uses of Package org.apache.bookkeeper.stats.prometheus" class="title">Uses of Package<br>org.apache.bookkeeper.stats.prometheus</h1>
 </div>
-<div class="contentContainer">No usage of org.apache.bookkeeper.stats.prometheus</div>
+<div class="contentContainer">
+<ul class="blockList">
+<li class="blockList">
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing packages, and an explanation">
+<caption><span>Packages that use <a href="../../../../../org/apache/bookkeeper/stats/prometheus/package-summary.html">org.apache.bookkeeper.stats.prometheus</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Package</th>
+<th class="colLast" scope="col">Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><a href="#org.apache.bookkeeper.stats.prometheus">org.apache.bookkeeper.stats.prometheus</a></td>
+<td class="colLast">
+<div class="block">A stats provider implementation based on <code>https://prometheus.io/</code>.</div>
+</td>
+</tr>
+</tbody>
+</table>
+</li>
+<li class="blockList"><a name="org.apache.bookkeeper.stats.prometheus">
+<!--   -->
+</a>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing classes, and an explanation">
+<caption><span>Classes in <a href="../../../../../org/apache/bookkeeper/stats/prometheus/package-summary.html">org.apache.bookkeeper.stats.prometheus</a> used by <a href="../../../../../org/apache/bookkeeper/stats/prometheus/package-summary.html">org.apache.bookkeeper.stats.prometheus</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colOne" scope="col">Class and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colOne"><a href="../../../../../org/apache/bookkeeper/stats/prometheus/class-use/DataSketchesOpStatsLogger.html#org.apache.bookkeeper.stats.prometheus">DataSketchesOpStatsLogger</a>
+<div class="block">OpStatsLogger implementation that uses DataSketches library to calculate the approximated latency quantiles.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colOne"><a href="../../../../../org/apache/bookkeeper/stats/prometheus/class-use/LongAdderCounter.html#org.apache.bookkeeper.stats.prometheus">LongAdderCounter</a>
+<div class="block"><a href="../../../../../org/apache/bookkeeper/stats/Counter.html" title="interface in org.apache.bookkeeper.stats"><code>Counter</code></a> implementation based on <a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/atomic/LongAdder.html?is-external=true" title="class or interface in java.util.concurrent.atomic"><code>LongAdder</code></a>.</div>
+</td>
+</tr>
+<tr class="altColor">
+<td class="colOne"><a href="../../../../../org/apache/bookkeeper/stats/prometheus/class-use/PrometheusMetricsProvider.html#org.apache.bookkeeper.stats.prometheus">PrometheusMetricsProvider</a>
+<div class="block">A <i>Prometheus</i> based <a href="../../../../../org/apache/bookkeeper/stats/StatsProvider.html" title="interface in org.apache.bookkeeper.stats"><code>StatsProvider</code></a> implementation.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colOne"><a href="../../../../../org/apache/bookkeeper/stats/prometheus/class-use/SimpleGauge.html#org.apache.bookkeeper.stats.prometheus">SimpleGauge</a>
+<div class="block">A <a href="../../../../../org/apache/bookkeeper/stats/Gauge.html" title="interface in org.apache.bookkeeper.stats"><code>Gauge</code></a> implementation that forwards on the value supplier.</div>
+</td>
+</tr>
+</tbody>
+</table>
+</li>
+</ul>
+</div>
 <!-- ======= START OF BOTTOM NAVBAR ====== -->
 <div class="bottomNav"><a name="navbar.bottom">
 <!--   -->
diff --git a/content/docs/latest/api/javadoc/overview-tree.html b/content/docs/latest/api/javadoc/overview-tree.html
index 6884255..efaa554 100644
--- a/content/docs/latest/api/javadoc/overview-tree.html
+++ b/content/docs/latest/api/javadoc/overview-tree.html
@@ -133,6 +133,7 @@
 <li type="circle">org.apache.bookkeeper.stats.twitter.finagle.<a href="org/apache/bookkeeper/stats/twitter/finagle/CounterImpl.html" title="class in org.apache.bookkeeper.stats.twitter.finagle"><span class="typeNameLink">CounterImpl</span></a> (implements org.apache.bookkeeper.stats.<a href="org/apache/bookkeeper/stats/Counter.html" title="interface in org.apache.bookkeeper.stats">Counter</a>)</li>
 <li type="circle">org.apache.bookkeeper.stats.twitter.science.<a href="org/apache/bookkeeper/stats/twitter/science/CounterImpl.html" title="class in org.apache.bookkeeper.stats.twitter.science"><span class="typeNameLink">CounterImpl</span></a> (implements org.apache.bookkeeper.stats.<a href="org/apache/bookkeeper/stats/Counter.html" title="interface in org.apache.bookkeeper.stats">Counter</a>)</li>
 <li type="circle">org.apache.bookkeeper.stats.twitter.ostrich.<a href="org/apache/bookkeeper/stats/twitter/ostrich/CounterImpl.html" title="class in org.apache.bookkeeper.stats.twitter.ostrich"><span class="typeNameLink">CounterImpl</span></a> (implements org.apache.bookkeeper.stats.<a href="org/apache/bookkeeper/stats/Counter.html" title="interface in org.apache.bookkeeper.stats">Counter</a>)</li>
+<li type="circle">org.apache.bookkeeper.stats.prometheus.<a href="org/apache/bookkeeper/stats/prometheus/DataSketchesOpStatsLogger.html" title="class in org.apache.bookkeeper.stats.prometheus"><span class="typeNameLink">DataSketchesOpStatsLogger</span></a> (implements org.apache.bookkeeper.stats.<a href="org/apache/bookkeeper/stats/OpStatsLogger.html" title="interface in org.apache.bookkeeper.stats">OpStatsLogger</a>)</li>
 <li type="circle">org.apache.bookkeeper.client.<a href="org/apache/bookkeeper/client/DefaultEnsemblePlacementPolicy.html" title="class in org.apache.bookkeeper.client"><span class="typeNameLink">DefaultEnsemblePlacementPolicy</span></a> (implements org.apache.bookkeeper.client.<a href="org/apache/bookkeeper/client/EnsemblePlacementPolicy.html" title="interface in org.apache.bookkeeper.client">EnsemblePlacementPolicy</a>)</li>
 <li type="circle">org.apache.bookkeeper.client.<a href="org/apache/bookkeeper/client/DefaultSpeculativeRequestExecutionPolicy.html" title="class in org.apache.bookkeeper.client"><span class="typeNameLink">DefaultSpeculativeRequestExecutionPolicy</span></a> (implements org.apache.bookkeeper.client.<a href="org/apache/bookkeeper/client/SpeculativeRequestExecutionPolicy.html" title="interface in org.apache.bookkeeper.client">SpeculativeRequestExecutionPolicy</a>)</li>
 <li type="circle">org.apache.commons.configuration.event.EventSource
@@ -161,6 +162,15 @@
 <li type="circle">org.apache.bookkeeper.feature.<a href="org/apache/bookkeeper/feature/SettableFeature.html" title="class in org.apache.bookkeeper.feature"><span class="typeNameLink">SettableFeature</span></a></li>
 </ul>
 </li>
+<li type="circle">javax.servlet.GenericServlet (implements java.io.<a href="http://docs.oracle.com/javase/8/docs/api/java/io/Serializable.html?is-external=true" title="class or interface in java.io">Serializable</a>, javax.servlet.Servlet, javax.servlet.ServletConfig)
+<ul>
+<li type="circle">javax.servlet.http.HttpServlet (implements java.io.<a href="http://docs.oracle.com/javase/8/docs/api/java/io/Serializable.html?is-external=true" title="class or interface in java.io">Serializable</a>)
+<ul>
+<li type="circle">org.apache.bookkeeper.stats.prometheus.<a href="org/apache/bookkeeper/stats/prometheus/PrometheusServlet.html" title="class in org.apache.bookkeeper.stats.prometheus"><span class="typeNameLink">PrometheusServlet</span></a></li>
+</ul>
+</li>
+</ul>
+</li>
 <li type="circle">org.apache.bookkeeper.stats.twitter.science.<a href="org/apache/bookkeeper/stats/twitter/science/HTTPStatsExporter.html" title="class in org.apache.bookkeeper.stats.twitter.science"><span class="typeNameLink">HTTPStatsExporter</span></a></li>
 <li type="circle">org.apache.bookkeeper.common.annotation.<a href="org/apache/bookkeeper/common/annotation/InterfaceAudience.html" title="class in org.apache.bookkeeper.common.annotation"><span class="typeNameLink">InterfaceAudience</span></a></li>
 <li type="circle">org.apache.bookkeeper.common.annotation.<a href="org/apache/bookkeeper/common/annotation/InterfaceStability.html" title="class in org.apache.bookkeeper.common.annotation"><span class="typeNameLink">InterfaceStability</span></a></li>
@@ -191,6 +201,7 @@
 <li type="circle">org.apache.bookkeeper.client.<a href="org/apache/bookkeeper/client/LedgerReader.html" title="class in org.apache.bookkeeper.client"><span class="typeNameLink">LedgerReader</span></a></li>
 <li type="circle">org.apache.bookkeeper.client.<a href="org/apache/bookkeeper/client/LedgerReader.ReadResult.html" title="class in org.apache.bookkeeper.client"><span class="typeNameLink">LedgerReader.ReadResult</span></a>&lt;T&gt;</li>
 <li type="circle">org.apache.bookkeeper.client.<a href="org/apache/bookkeeper/client/LedgerRecoveryOp.html" title="class in org.apache.bookkeeper.client"><span class="typeNameLink">LedgerRecoveryOp</span></a> (implements org.apache.bookkeeper.client.<a href="org/apache/bookkeeper/client/AsyncCallback.AddCallback.html" title="interface in org.apache.bookkeeper.client">AsyncCallback.AddCallback</a>, org.apache.bookkeeper.proto.BookkeeperInternalCallbacks.ReadEntryListener)</li>
+<li type="circle">org.apache.bookkeeper.stats.prometheus.<a href="org/apache/bookkeeper/stats/prometheus/LongAdderCounter.html" title="class in org.apache.bookkeeper.stats.prometheus"><span class="typeNameLink">LongAdderCounter</span></a> (implements org.apache.bookkeeper.stats.<a href="org/apache/bookkeeper/stats/Counter.html" title="interface in org.apache.bookkeeper.stats">Counter</a>)</li>
 <li type="circle">org.apache.bookkeeper.net.NodeBase (implements org.apache.bookkeeper.net.Node)
 <ul>
 <li type="circle">org.apache.bookkeeper.client.<a href="org/apache/bookkeeper/client/TopologyAwareEnsemblePlacementPolicy.BookieNode.html" title="class in org.apache.bookkeeper.client"><span class="typeNameLink">TopologyAwareEnsemblePlacementPolicy.BookieNode</span></a></li>
@@ -228,11 +239,9 @@
 </ul>
 </li>
 <li type="circle">org.apache.bookkeeper.client.<a href="org/apache/bookkeeper/client/PendingWriteLacOp.html" title="class in org.apache.bookkeeper.client"><span class="typeNameLink">PendingWriteLacOp</span></a> (implements org.apache.bookkeeper.proto.BookkeeperInternalCallbacks.WriteLacCallback)</li>
-<li type="circle">org.apache.bookkeeper.stats.prometheus.<a href="org/apache/bookkeeper/stats/prometheus/PrometheusCounter.html" title="class in org.apache.bookkeeper.stats.prometheus"><span class="typeNameLink">PrometheusCounter</span></a> (implements org.apache.bookkeeper.stats.<a href="org/apache/bookkeeper/stats/Counter.html" title="interface in org.apache.bookkeeper.stats">Counter</a>)</li>
 <li type="circle">org.apache.bookkeeper.stats.prometheus.<a href="org/apache/bookkeeper/stats/prometheus/PrometheusMetricsProvider.html" title="class in org.apache.bookkeeper.stats.prometheus"><span class="typeNameLink">PrometheusMetricsProvider</span></a> (implements org.apache.bookkeeper.stats.<a href="org/apache/bookkeeper/stats/StatsProvider.html" title="interface in org.apache.bookkeeper.stats">StatsProvider</a>)</li>
-<li type="circle">org.apache.bookkeeper.stats.prometheus.<a href="org/apache/bookkeeper/stats/prometheus/PrometheusOpStatsLogger.html" title="class in org.apache.bookkeeper.stats.prometheus"><span class="typeNameLink">PrometheusOpStatsLogger</span></a> (implements org.apache.bookkeeper.stats.<a href="org/apache/bookkeeper/stats/OpStatsLogger.html" title="interface in org.apache.bookkeeper.stats">OpStatsLogger</a>)</li>
 <li type="circle">org.apache.bookkeeper.stats.prometheus.<a href="org/apache/bookkeeper/stats/prometheus/PrometheusStatsLogger.html" title="class in org.apache.bookkeeper.stats.prometheus"><span class="typeNameLink">PrometheusStatsLogger</span></a> (implements org.apache.bookkeeper.stats.<a href="org/apache/bookkeeper/stats/StatsLogger.html" title="interface in org.apache.bookkeeper.stats">StatsLogger</a>)</li>
-<li type="circle">org.apache.bookkeeper.stats.prometheus.<a href="org/apache/bookkeeper/stats/prometheus/PrometheusUtil.html" title="class in org.apache.bookkeeper.stats.prometheus"><span class="typeNameLink">PrometheusUtil</span></a></li>
+<li type="circle">org.apache.bookkeeper.stats.prometheus.<a href="org/apache/bookkeeper/stats/prometheus/PrometheusTextFormatUtil.html" title="class in org.apache.bookkeeper.stats.prometheus"><span class="typeNameLink">PrometheusTextFormatUtil</span></a></li>
 <li type="circle">org.apache.bookkeeper.client.<a href="org/apache/bookkeeper/client/RackawareEnsemblePlacementPolicyImpl.DefaultResolver.html" title="class in org.apache.bookkeeper.client"><span class="typeNameLink">RackawareEnsemblePlacementPolicyImpl.DefaultResolver</span></a> (implements org.apache.bookkeeper.net.DNSToSwitchMapping)</li>
 <li type="circle">org.apache.bookkeeper.client.<a href="org/apache/bookkeeper/client/RackawareEnsemblePlacementPolicyImpl.DNSResolverDecorator.html" title="class in org.apache.bookkeeper.client"><span class="typeNameLink">RackawareEnsemblePlacementPolicyImpl.DNSResolverDecorator</span></a> (implements org.apache.bookkeeper.net.DNSToSwitchMapping)</li>
 <li type="circle">org.apache.bookkeeper.client.<a href="org/apache/bookkeeper/client/ReadLastConfirmedAndEntryOp.html" title="class in org.apache.bookkeeper.client"><span class="typeNameLink">ReadLastConfirmedAndEntryOp</span></a> (implements org.apache.bookkeeper.proto.BookkeeperInternalCallbacks.ReadEntryCallback, org.apache.bookkeeper.client.<a href="org/apache/bookkeeper/client/SpeculativeRequestExecutor.html" title="interface in org.apache.bookkeeper.client">SpeculativeRequestExecut [...]
@@ -250,6 +259,7 @@
 <li type="circle">org.apache.bookkeeper.client.<a href="org/apache/bookkeeper/client/ReadOnlyLedgerHandle.MetadataUpdater.html" title="class in org.apache.bookkeeper.client"><span class="typeNameLink">ReadOnlyLedgerHandle.MetadataUpdater</span></a></li>
 </ul>
 </li>
+<li type="circle">org.apache.bookkeeper.stats.prometheus.<a href="org/apache/bookkeeper/stats/prometheus/SimpleGauge.html" title="class in org.apache.bookkeeper.stats.prometheus"><span class="typeNameLink">SimpleGauge</span></a>&lt;T&gt;</li>
 <li type="circle">org.apache.bookkeeper.stats.<a href="org/apache/bookkeeper/stats/Stats.html" title="class in org.apache.bookkeeper.stats"><span class="typeNameLink">Stats</span></a></li>
 <li type="circle">org.apache.bookkeeper.client.<a href="org/apache/bookkeeper/client/SyncCallbackUtils.html" title="class in org.apache.bookkeeper.client"><span class="typeNameLink">SyncCallbackUtils</span></a></li>
 <li type="circle">org.apache.bookkeeper.client.<a href="org/apache/bookkeeper/client/SyncCallbackUtils.LastAddConfirmedCallback.html" title="class in org.apache.bookkeeper.client"><span class="typeNameLink">SyncCallbackUtils.LastAddConfirmedCallback</span></a> (implements org.apache.bookkeeper.client.<a href="org/apache/bookkeeper/client/AsyncCallback.AddLacCallback.html" title="interface in org.apache.bookkeeper.client">AsyncCallback.AddLacCallback</a>)</li>
diff --git a/content/docs/latest/api/javadoc/serialized-form.html b/content/docs/latest/api/javadoc/serialized-form.html
index b043838..c4ef699 100644
--- a/content/docs/latest/api/javadoc/serialized-form.html
+++ b/content/docs/latest/api/javadoc/serialized-form.html
@@ -270,6 +270,20 @@
 </li>
 </ul>
 </li>
+<li class="blockList">
+<h2 title="Package">Package&nbsp;org.apache.bookkeeper.stats.prometheus</h2>
+<ul class="blockList">
+<li class="blockList"><a name="org.apache.bookkeeper.stats.prometheus.PrometheusServlet">
+<!--   -->
+</a>
+<h3>Class <a href="org/apache/bookkeeper/stats/prometheus/PrometheusServlet.html" title="class in org.apache.bookkeeper.stats.prometheus">org.apache.bookkeeper.stats.prometheus.PrometheusServlet</a> extends javax.servlet.http.HttpServlet implements Serializable</h3>
+<dl class="nameValue">
+<dt>serialVersionUID:</dt>
+<dd>1L</dd>
+</dl>
+</li>
+</ul>
+</li>
 </ul>
 </div>
 <!-- ======= START OF BOTTOM NAVBAR ====== -->

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