From af114dfa964d3c0c6d2a4aedee11f9e736d07c52 Mon Sep 17 00:00:00 2001 From: Guangxu Cheng Date: Wed, 13 Sep 2017 23:37:19 +0800 Subject: [PATCH] HBASE-18789 Displays the reporting interval of each RS on the Master page --- hbase-client/src/main/java/org/apache/hadoop/hbase/ServerLoad.java | 6 ++++++ .../org/apache/hadoop/hbase/tmpl/master/RegionServerListTmpl.jamon | 5 +++++ 2 files changed, 11 insertions(+) diff --git a/hbase-client/src/main/java/org/apache/hadoop/hbase/ServerLoad.java b/hbase-client/src/main/java/org/apache/hadoop/hbase/ServerLoad.java index 3d502c0..ddca47a 100644 --- a/hbase-client/src/main/java/org/apache/hadoop/hbase/ServerLoad.java +++ b/hbase-client/src/main/java/org/apache/hadoop/hbase/ServerLoad.java @@ -55,9 +55,11 @@ public class ServerLoad { private int totalStaticBloomSizeKB = 0; private long totalCompactingKVs = 0; private long currentCompactedKVs = 0; + private long reportTime = 0; public ServerLoad(ClusterStatusProtos.ServerLoad serverLoad) { this.serverLoad = serverLoad; + this.reportTime = System.currentTimeMillis(); for (ClusterStatusProtos.RegionLoad rl: serverLoad.getRegionLoadsList()) { stores += rl.getStores(); storefiles += rl.getStorefiles(); @@ -323,4 +325,8 @@ public class ServerLoad { public static final ServerLoad EMPTY_SERVERLOAD = new ServerLoad(ClusterStatusProtos.ServerLoad.newBuilder().build()); + + public long getReportTime() { + return reportTime; + } } diff --git a/hbase-server/src/main/jamon/org/apache/hadoop/hbase/tmpl/master/RegionServerListTmpl.jamon b/hbase-server/src/main/jamon/org/apache/hadoop/hbase/tmpl/master/RegionServerListTmpl.jamon index cde757f..451cfa4 100644 --- a/hbase-server/src/main/jamon/org/apache/hadoop/hbase/tmpl/master/RegionServerListTmpl.jamon +++ b/hbase-server/src/main/jamon/org/apache/hadoop/hbase/tmpl/master/RegionServerListTmpl.jamon @@ -81,6 +81,7 @@ Arrays.sort(serverNames); ServerName Start time + Last contact Version Requests Per Second Num. Regions @@ -100,6 +101,7 @@ Arrays.sort(serverNames); double requestsPerSecond = 0.0; int numRegionsOnline = 0; + long lastContact = 0; if (sl != null) { requestsPerSecond = sl.getRequestsPerSecond(); @@ -107,12 +109,14 @@ Arrays.sort(serverNames); totalRegions += sl.getNumberOfRegions(); // Is this correct? Adding a rate to a measure. totalRequests += sl.getNumberOfRequests(); + lastContact = (System.currentTimeMillis() - sl.getReportTime())/1000; } long startcode = serverName.getStartcode(); <& serverNameLink; serverName=serverName; serverLoad = sl; &> <% new Date(startcode) %> + <% TraditionalBinaryPrefix.long2String(lastContact, "s", 1) %> <% version %> <% String.format("%.0f", requestsPerSecond) %> <% numRegionsOnline %> @@ -122,6 +126,7 @@ Arrays.sort(serverNames); Total:<% servers.size() %> + <%if inconsistentNodeNum > 0%> <% inconsistentNodeNum %> nodes with inconsistent version <%else> -- 1.9.5.msysgit.0