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>