HBASE-3704 Show per region request count in table.jsp
git-svn-id: https://svn.apache.org/repos/asf/hbase/trunk@1087954 13f79535-47bb-0310-9956-ffa450edef68
This commit is contained in:
parent
9bf60eb011
commit
355cddcd0b
|
@ -122,6 +122,8 @@ Release 0.91.0 - Unreleased
|
||||||
HBASE-3684 Support column range filter (Jerry Chen via Stack)
|
HBASE-3684 Support column range filter (Jerry Chen via Stack)
|
||||||
HBASE-3647 Distinguish read and write request count in region
|
HBASE-3647 Distinguish read and write request count in region
|
||||||
(Ted Yu via Stack)
|
(Ted Yu via Stack)
|
||||||
|
HBASE-3704 Show per region request count in table.jsp
|
||||||
|
(Ted Yu via Stack)
|
||||||
|
|
||||||
TASK
|
TASK
|
||||||
HBASE-3559 Move report of split to master OFF the heartbeat channel
|
HBASE-3559 Move report of split to master OFF the heartbeat channel
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
<%@ page contentType="text/html;charset=UTF-8"
|
<%@ page contentType="text/html;charset=UTF-8"
|
||||||
import="java.util.Map"
|
import="java.util.HashMap"
|
||||||
import="org.apache.hadoop.io.Writable"
|
import="org.apache.hadoop.io.Writable"
|
||||||
import="org.apache.hadoop.conf.Configuration"
|
import="org.apache.hadoop.conf.Configuration"
|
||||||
import="org.apache.hadoop.hbase.client.HTable"
|
import="org.apache.hadoop.hbase.client.HTable"
|
||||||
|
@ -7,6 +7,8 @@
|
||||||
import="org.apache.hadoop.hbase.HRegionInfo"
|
import="org.apache.hadoop.hbase.HRegionInfo"
|
||||||
import="org.apache.hadoop.hbase.HServerAddress"
|
import="org.apache.hadoop.hbase.HServerAddress"
|
||||||
import="org.apache.hadoop.hbase.HServerInfo"
|
import="org.apache.hadoop.hbase.HServerInfo"
|
||||||
|
import="org.apache.hadoop.hbase.HServerLoad"
|
||||||
|
import="org.apache.hadoop.hbase.HServerLoad.RegionLoad"
|
||||||
import="org.apache.hadoop.hbase.io.ImmutableBytesWritable"
|
import="org.apache.hadoop.hbase.io.ImmutableBytesWritable"
|
||||||
import="org.apache.hadoop.hbase.master.HMaster"
|
import="org.apache.hadoop.hbase.master.HMaster"
|
||||||
import="org.apache.hadoop.hbase.util.Bytes"
|
import="org.apache.hadoop.hbase.util.Bytes"
|
||||||
|
@ -18,7 +20,7 @@
|
||||||
HBaseAdmin hbadmin = new HBaseAdmin(conf);
|
HBaseAdmin hbadmin = new HBaseAdmin(conf);
|
||||||
String tableName = request.getParameter("name");
|
String tableName = request.getParameter("name");
|
||||||
HTable table = new HTable(conf, tableName);
|
HTable table = new HTable(conf, tableName);
|
||||||
String tableHeader = "<h2>Table Regions</h2><table><tr><th>Name</th><th>Region Server</th><th>Start Key</th><th>End Key</th></tr>";
|
String tableHeader = "<h2>Table Regions</h2><table><tr><th>Name</th><th>Region Server</th><th>Start Key</th><th>End Key</th><th>Requests</th></tr>";
|
||||||
HServerAddress rl = master.getCatalogTracker().getRootLocation();
|
HServerAddress rl = master.getCatalogTracker().getRootLocation();
|
||||||
boolean showFragmentation = conf.getBoolean("hbase.master.ui.fragmentation.enabled", false);
|
boolean showFragmentation = conf.getBoolean("hbase.master.ui.fragmentation.enabled", false);
|
||||||
Map<String, Integer> frags = null;
|
Map<String, Integer> frags = null;
|
||||||
|
@ -133,6 +135,7 @@
|
||||||
<% } %>
|
<% } %>
|
||||||
</table>
|
</table>
|
||||||
<%
|
<%
|
||||||
|
Map<String, Integer> regDistribution = new HashMap<String, Integer>();
|
||||||
Map<HRegionInfo, HServerAddress> regions = table.getRegionsInfo();
|
Map<HRegionInfo, HServerAddress> regions = table.getRegionsInfo();
|
||||||
if(regions != null && regions.size() > 0) { %>
|
if(regions != null && regions.size() > 0) { %>
|
||||||
<%= tableHeader %>
|
<%= tableHeader %>
|
||||||
|
@ -140,6 +143,7 @@
|
||||||
for(Map.Entry<HRegionInfo, HServerAddress> hriEntry : regions.entrySet()) {
|
for(Map.Entry<HRegionInfo, HServerAddress> hriEntry : regions.entrySet()) {
|
||||||
HRegionInfo regionInfo = hriEntry.getKey();
|
HRegionInfo regionInfo = hriEntry.getKey();
|
||||||
HServerAddress addr = hriEntry.getValue();
|
HServerAddress addr = hriEntry.getValue();
|
||||||
|
long req = 0;
|
||||||
|
|
||||||
int infoPort = 0;
|
int infoPort = 0;
|
||||||
String urlRegionServer = null;
|
String urlRegionServer = null;
|
||||||
|
@ -147,9 +151,17 @@
|
||||||
if (addr != null) {
|
if (addr != null) {
|
||||||
HServerInfo info = master.getServerManager().getHServerInfo(addr);
|
HServerInfo info = master.getServerManager().getHServerInfo(addr);
|
||||||
if (info != null) {
|
if (info != null) {
|
||||||
|
HServerLoad sl = info.getLoad();
|
||||||
|
Map<byte[], RegionLoad> map = sl.getRegionsLoad();
|
||||||
|
if (map.containsKey(regionInfo.getRegionName())) {
|
||||||
|
req = map.get(regionInfo.getRegionName()).getRequestsCount();
|
||||||
|
}
|
||||||
infoPort = info.getInfoPort();
|
infoPort = info.getInfoPort();
|
||||||
urlRegionServer =
|
urlRegionServer =
|
||||||
"http://" + addr.getHostname().toString() + ":" + infoPort + "/";
|
"http://" + addr.getHostname().toString() + ":" + infoPort + "/";
|
||||||
|
Integer i = regDistribution.get(urlRegionServer);
|
||||||
|
if (null == i) i = new Integer(0);
|
||||||
|
regDistribution.put(urlRegionServer, i+1);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
%>
|
%>
|
||||||
|
@ -170,6 +182,18 @@
|
||||||
%>
|
%>
|
||||||
<td><%= Bytes.toStringBinary(regionInfo.getStartKey())%></td>
|
<td><%= Bytes.toStringBinary(regionInfo.getStartKey())%></td>
|
||||||
<td><%= Bytes.toStringBinary(regionInfo.getEndKey())%></td>
|
<td><%= Bytes.toStringBinary(regionInfo.getEndKey())%></td>
|
||||||
|
<td><%= req%></td>
|
||||||
|
</tr>
|
||||||
|
<% } %>
|
||||||
|
</table>
|
||||||
|
<h2>Regions by Region Server</h2>
|
||||||
|
<table><tr><th>Region Server</th><th>Region Count</th></tr>
|
||||||
|
<%
|
||||||
|
for (Map.Entry<String, Integer> rdEntry : regDistribution.entrySet()) {
|
||||||
|
%>
|
||||||
|
<tr>
|
||||||
|
<td><%= rdEntry.getKey()%></td>
|
||||||
|
<td><%= rdEntry.getValue()%></td>
|
||||||
</tr>
|
</tr>
|
||||||
<% } %>
|
<% } %>
|
||||||
</table>
|
</table>
|
||||||
|
|
Loading…
Reference in New Issue