Repository: hbase
Updated Branches:
  refs/heads/branch-1 92b1b5ac8 -> d6f9eab4b


HBASE-16677 Add table size (total store file size) to table page (Guang Yang)


Project: http://git-wip-us.apache.org/repos/asf/hbase/repo
Commit: http://git-wip-us.apache.org/repos/asf/hbase/commit/d6f9eab4
Tree: http://git-wip-us.apache.org/repos/asf/hbase/tree/d6f9eab4
Diff: http://git-wip-us.apache.org/repos/asf/hbase/diff/d6f9eab4

Branch: refs/heads/branch-1
Commit: d6f9eab4be16dee0dd45ea9f1e0dd17ef8a74b7b
Parents: 92b1b5a
Author: chenheng <chenh...@apache.org>
Authored: Sun Sep 25 10:48:01 2016 +0800
Committer: chenheng <chenh...@apache.org>
Committed: Sun Sep 25 10:50:03 2016 +0800

----------------------------------------------------------------------
 .../resources/hbase-webapps/master/table.jsp    | 50 +++++++++++++++++++-
 1 file changed, 49 insertions(+), 1 deletion(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/hbase/blob/d6f9eab4/hbase-server/src/main/resources/hbase-webapps/master/table.jsp
----------------------------------------------------------------------
diff --git a/hbase-server/src/main/resources/hbase-webapps/master/table.jsp 
b/hbase-server/src/main/resources/hbase-webapps/master/table.jsp
index 2c749ff..37209c7 100644
--- a/hbase-server/src/main/resources/hbase-webapps/master/table.jsp
+++ b/hbase-server/src/main/resources/hbase-webapps/master/table.jsp
@@ -72,6 +72,25 @@
   }
   String action = request.getParameter("action");
   String key = request.getParameter("key");
+  long totalStoreFileSizeMB = 0;
+
+  final String numRegionsParam = request.getParameter("numRegions");
+  // By default, the page render up to 10000 regions to improve the page load 
time
+  int numRegionsToRender = 10000;
+  if (numRegionsParam != null) {
+    // either 'all' or a number
+    if (numRegionsParam.equals("all")) {
+      numRegionsToRender = -1;
+    } else {
+      try {
+        numRegionsToRender = Integer.parseInt(numRegionsParam);
+      } catch (NumberFormatException ex) {
+        // ignore
+      }
+    }
+  }
+  int numRegions = 0;
+
 %>
 <!--[if IE]>
 <!DOCTYPE html>
@@ -301,6 +320,7 @@ if ( fqtn != null ) {
           totalSize += regionload.getStorefileSizeMB();
           totalStoreFileCount += regionload.getStorefiles();
           totalMemSize += regionload.getMemStoreSizeMB();
+          totalStoreFileSizeMB += regionload.getStorefileSizeMB();
         } else {
           RegionLoad load0 = new 
RegionLoad(ClusterStatusProtos.RegionLoad.newBuilder().setRegionSpecifier(HBaseProtos.RegionSpecifier.newBuilder().setValue(ByteString.copyFrom(regionInfo.getRegionName())).build()).build());
           regionsToLoad.put(regionInfo, load0);
@@ -506,7 +526,12 @@ ShowDetailName&Start/End Key<input type="checkbox" 
id="showWhole" style="margin-
             });
     }
   }
-
+  numRegions = regions.size();
+  int numRegionsRendered = 0;
+  // render all regions
+  if (numRegionsToRender < 0) {
+    numRegionsToRender = numRegions;
+  }
   for (Map.Entry<HRegionInfo, RegionLoad> hriEntry : entryList) {
        HRegionInfo regionInfo = hriEntry.getKey();
        ServerName addr = regions.get(regionInfo);
@@ -542,6 +567,8 @@ ShowDetailName&Start/End Key<input type="checkbox" 
id="showWhole" style="margin-
         }
       }
     }
+    if (numRegionsRendered < numRegionsToRender) {
+      numRegionsRendered++;
 %>
 <tr>
   <td><%= 
escapeXml(showWhole?Bytes.toStringBinary(regionInfo.getRegionName()):regionInfo.getEncodedName())
 %></td>
@@ -575,7 +602,15 @@ ShowDetailName&Start/End Key<input type="checkbox" 
id="showWhole" style="margin-
   %>
 </tr>
 <% } %>
++<% } %>
 </table>
+<% if (numRegions > numRegionsRendered) {
+     String allRegionsUrl = "?name=" + fqtn + "&numRegions=all";
+%>
+  <p>This table has <b><%= numRegions %></b> regions in total, in order to 
improve the page load time,
+     only <b><%= numRegionsRendered %></b> regions are displayed here, <a 
href="<%= allRegionsUrl %>">click
+     here</a> to see all regions.</p>
+<% } %>
 <h2>Regions by Region Server</h2>
 <%
 if (withReplica) {
@@ -615,6 +650,19 @@ if (withReplica) {
 } // end else
 %>
 
+<h2>Table Stats</h2>
+<table class="table table-striped">
+  <tr>
+    <th>Name</th>
+    <th>Value</th>
+    <th>Description</th>
+  </tr>
+  <tr>
+    <td>Size</td>
+    <td><%= 
StringUtils.TraditionalBinaryPrefix.long2String(totalStoreFileSizeMB * 1024 * 
1024, "B", 2)%></td>
+    <td>Total size of store files (in bytes)</td>
+  </tr>
+</table>
 
 <% if (!readOnly) { %>
 <p><hr/></p>

Reply via email to