This is an automated email from the ASF dual-hosted git repository.
sijie pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/bookkeeper.git
The following commit(s) were added to refs/heads/master by this push:
new d82163f [STATS] [DOC] Add @StatsDoc annotation for bookie state
manager stats
d82163f is described below
commit d82163f6315bcd59bbb77deae59aa26e84763f37
Author: Sijie Guo <[email protected]>
AuthorDate: Wed Dec 12 09:19:29 2018 +0800
[STATS] [DOC] Add @StatsDoc annotation for bookie state manager stats
Descriptions of the changes in this PR:
*Motivation*
As part of [BP-36](https://github.com/apache/bookkeeper/issues/1785), this
PR is to document bookie state manager stats.
*Changes*
- convert bookie state manager stats to use StatsDoc for documenting metrics
Master Issue: #1785
Reviewers: Enrico Olivelli <[email protected]>
This closes #1876 from sijie/bookie_state_stats
---
.../apache/bookkeeper/bookie/BookieStateManager.java | 20 ++++++++++++++++----
1 file changed, 16 insertions(+), 4 deletions(-)
diff --git
a/bookkeeper-server/src/main/java/org/apache/bookkeeper/bookie/BookieStateManager.java
b/bookkeeper-server/src/main/java/org/apache/bookkeeper/bookie/BookieStateManager.java
index 370e06d..54d6993 100644
---
a/bookkeeper-server/src/main/java/org/apache/bookkeeper/bookie/BookieStateManager.java
+++
b/bookkeeper-server/src/main/java/org/apache/bookkeeper/bookie/BookieStateManager.java
@@ -21,6 +21,8 @@
package org.apache.bookkeeper.bookie;
+import static org.apache.bookkeeper.bookie.BookKeeperServerStats.BOOKIE_SCOPE;
+import static
org.apache.bookkeeper.bookie.BookKeeperServerStats.CATEGORY_SERVER;
import static org.apache.bookkeeper.bookie.BookKeeperServerStats.SERVER_STATUS;
import com.google.common.annotations.VisibleForTesting;
import com.google.common.util.concurrent.ThreadFactoryBuilder;
@@ -42,6 +44,7 @@ import org.apache.bookkeeper.meta.MetadataBookieDriver;
import org.apache.bookkeeper.stats.Gauge;
import org.apache.bookkeeper.stats.NullStatsLogger;
import org.apache.bookkeeper.stats.StatsLogger;
+import org.apache.bookkeeper.stats.annotations.StatsDoc;
import org.apache.bookkeeper.util.DiskChecker;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@@ -50,6 +53,11 @@ import org.slf4j.LoggerFactory;
* An implementation of StateManager.
*/
@Slf4j
+@StatsDoc(
+ name = BOOKIE_SCOPE,
+ category = CATEGORY_SERVER,
+ help = "Bookie state manager related stats"
+)
public class BookieStateManager implements StateManager {
private static final Logger LOG =
LoggerFactory.getLogger(BookieStateManager.class);
private final ServerConfiguration conf;
@@ -73,7 +81,11 @@ public class BookieStateManager implements StateManager {
private ShutdownHandler shutdownHandler;
private final Supplier<RegistrationManager> rm;
// Expose Stats
- private final StatsLogger statsLogger;
+ @StatsDoc(
+ name = SERVER_STATUS,
+ help = "Bookie status (1: up, 0: readonly, -1: unregistered)"
+ )
+ private final Gauge<Number> serverStatusGauge;
public BookieStateManager(ServerConfiguration conf,
StatsLogger statsLogger,
@@ -98,13 +110,12 @@ public class BookieStateManager implements StateManager {
List<File> statusDirs,
Supplier<String> bookieIdSupplier) throws
IOException {
this.conf = conf;
- this.statsLogger = statsLogger;
this.rm = rm;
this.statusDirs = statusDirs;
// ZK ephemeral node for this Bookie.
this.bookieId = bookieIdSupplier.get();
// 1 : up, 0 : readonly, -1 : unregistered
- statsLogger.registerGauge(SERVER_STATUS, new Gauge<Number>() {
+ this.serverStatusGauge = new Gauge<Number>() {
@Override
public Number getDefaultValue() {
return 0;
@@ -120,7 +131,8 @@ public class BookieStateManager implements StateManager {
return 1;
}
}
- });
+ };
+ statsLogger.registerGauge(SERVER_STATUS, serverStatusGauge);
}
private boolean isRegistrationManagerDisabled() {