HBASE-7425 Move to the newest BootStrap css and js for the webui.

git-svn-id: https://svn.apache.org/repos/asf/hbase/trunk@1425196 13f79535-47bb-0310-9956-ffa450edef68
This commit is contained in:
eclark 2012-12-21 23:36:10 +00:00
parent b29a0eb9b7
commit dae051d664
20 changed files with 3531 additions and 1855 deletions

View File

@ -56,14 +56,14 @@ boolean first = true;
[<%for MonitoredTask task : tasks%><%if first%><%java>first = false;</%java><%else>,</%if><% task.toJSON() %></%for>]
<%else>
<h2>Tasks</h2>
<div id="tasks_menu">
<a href="?filter=all">Show All Monitored Tasks</a>
<a href="?filter=general">Show non-RPC Tasks</a>
<a href="?filter=handler">Show All RPC Handler Tasks</a>
<a href="?filter=rpc">Show Active RPC Calls</a>
<a href="?filter=operation">Show Client Operations</a>
<a href="?format=json&filter=<% filter %>">View as JSON</a>
</div>
<ul class="nav nav-pills">
<li <%if filter.equals("all")%>class="active"</%if>><a href="?filter=all">Show All Monitored Tasks</a></li>
<li <%if filter.equals("general")%>class="active"</%if>><a href="?filter=general">Show non-RPC Tasks</a></li>
<li <%if filter.equals("handler")%>class="active"</%if>><a href="?filter=handler">Show All RPC Handler Tasks</a></li>
<li <%if filter.equals("rpc")%>class="active"</%if>><a href="?filter=rpc">Show Active RPC Calls</a></li>
<li <%if filter.equals("operation")%>class="active"</%if>><a href="?filter=operation">Show Client Operations</a></li>
<li><a href="?format=json&filter=<% filter %>">View as JSON</a></li>
</ul>
<%if tasks.isEmpty()%>
<p>No tasks currently running on this node.</p>
<%else>

View File

@ -76,6 +76,7 @@ if (toRemove > 0) {
<%if !rit.isEmpty() %>
<section>
<h2>Regions in Transition</h2>
<table class="table table-striped">
<tr><th>Region</th><th>State</th><th>RIT time (ms)</th></tr>
@ -95,5 +96,6 @@ if (toRemove > 0) {
<%if removed > 0 %>
(<% removed %> more regions in transition not shown)
</%if>
</section>
</%if>

View File

@ -73,7 +73,7 @@ org.apache.hadoop.hbase.HBaseConfiguration;
<span class="icon-bar"></span>
<span class="icon-bar"></span>
</a>
<a class="brand" href="/master-status">HBase Master</a>
<a class="brand" href="/master-status"><img src="/static/hbase_logo_small.png" alt="HBase Logo"/></a>
<div class="nav-collapse">
<ul class="nav">
<li class="active"><a href="/">Home</a></li>
@ -93,15 +93,12 @@ org.apache.hadoop.hbase.HBaseConfiguration;
<div class="container">
<div class="row inner_header">
<div class="span8">
<h1>Master: <% master.getServerName().getHostname() %> </h1>
</div>
<div class="span4 logo">
<img src="/static/hbase_logo.png" height="66" width="266" alt="HBase logo"/>
<div class="page-header">
<h1>Master <small><% master.getServerName().getHostname() %> </small></h1>
</div>
</div>
<div class="row">
<!-- Various warnings that cluster admins should be aware of -->
<%if JvmVersion.isBadJvmVersion() %>
<div class="alert alert-error">
@ -126,115 +123,124 @@ org.apache.hadoop.hbase.HBaseConfiguration;
</div>
</%if>
<section>
<h2>Region Servers</h2>
<& RegionServerListTmpl; master= master; servers = servers &>
<h2>Region Servers</h2>
<& RegionServerListTmpl; master= master; servers = servers &>
<%if (deadServers != null) %>
<& deadRegionServers &>
</%if>
</section>
<%if (deadServers != null) %>
<& deadRegionServers &>
</%if>
<section>
<h2>Backup Masters</h2>
<& BackupMasterListTmpl; master = master &>
</section>
<h2>Backup Masters</h2>
<& BackupMasterListTmpl; master = master &>
<h2>Tables</h2>
<div class="tabbable">
<ul class="nav nav-tabs">
<li class="active">
<a href="#userTables" data-toggle="tab">User Tables</a>
</li>
<li class="">
<a href="#catalogTables" data-toggle="tab">Catalog Tables</a>
</li>
</ul>
<div class="tab-content" style="padding-bottom: 9px; border-bottom: 1px solid #ddd;">
<div class="tab-pane active" id="userTables">
<%if (metaLocation != null) %>
<& userTables &>
</%if>
</div>
<div class="tab-pane" id="catalogTables">
<%if (rootLocation != null) %>
<& catalogTables &>
</%if>
<section>
<h2>Tables</h2>
<div class="tabbable">
<ul class="nav nav-pills">
<li class="active">
<a href="#tab_userTables" data-toggle="tab">User Tables</a>
</li>
<li class="">
<a href="#tab_catalogTables" data-toggle="tab">Catalog Tables</a>
</li>
</ul>
<div class="tab-content" style="padding-bottom: 9px; border-bottom: 1px solid #ddd;">
<div class="tab-pane active" id="tab_userTables">
<%if (metaLocation != null) %>
<& userTables &>
</%if>
</div>
<div class="tab-pane" id="tab_catalogTables">
<%if (rootLocation != null) %>
<& catalogTables &>
</%if>
</div>
</div>
</div>
</div>
</section>
<& AssignmentManagerStatusTmpl; assignmentManager=master.getAssignmentManager()&>
<& ../common/TaskMonitorTmpl; filter = filter &>
<section>
<& ../common/TaskMonitorTmpl; filter = filter &>
</section>
<h2>Software Attributes</h2>
<table id="attributes_table" class="table table-striped">
<tr>
<th>Attribute Name</th>
<th>Value</th>
<th>Description</th>
</tr>
<tr>
<td>HBase Version</td>
<td><% org.apache.hadoop.hbase.util.VersionInfo.getVersion() %>, r<% org.apache.hadoop.hbase.util.VersionInfo.getRevision() %></td><td>HBase version and revision</td>
</tr>
<tr>
<td>HBase Compiled</td>
<td><% org.apache.hadoop.hbase.util.VersionInfo.getDate() %>, <% org.apache.hadoop.hbase.util.VersionInfo.getUser() %></td>
<td>When HBase version was compiled and by whom</td>
</tr>
<tr>
<td>Hadoop Version</td>
<td><% org.apache.hadoop.util.VersionInfo.getVersion() %>, r<% org.apache.hadoop.util.VersionInfo.getRevision() %></td>
<td>Hadoop version and revision</td>
</tr>
<tr>
<td>Hadoop Compiled</td>
<td><% org.apache.hadoop.util.VersionInfo.getDate() %>, <% org.apache.hadoop.util.VersionInfo.getUser() %></td>
<td>When Hadoop version was compiled and by whom</td>
</tr>
<tr>
<td>HBase Root Directory</td>
<td><% FSUtils.getRootDir(master.getConfiguration()).toString() %></td>
<td>Location of HBase home directory</td>
</tr>
<tr>
<td>HBase Cluster ID</td>
<td><% master.getClusterId() != null ? master.getClusterId() : "Not set" %></td>
<td>Unique identifier generated for each HBase cluster</td>
</tr>
<tr>
<td>Load average</td>
<td><% StringUtils.limitDecimalTo2(master.getServerManager().getAverageLoad()) %></td>
<td>Average number of regions per regionserver. Naive computation.</td>
</tr>
<%if frags != null %>
<tr>
<td>Fragmentation</td>
<td><% frags.get("-TOTAL-") != null ? frags.get("-TOTAL-").intValue() + "%" : "n/a" %></td>
<td>Overall fragmentation of all tables, including .META. and -ROOT-.</td>
</tr>
</%if>
<tr>
<td>Zookeeper Quorum</td>
<td><% master.getZooKeeperWatcher().getQuorum() %></td>
<td>Addresses of all registered ZK servers. For more, see <a href="/zk.jsp">zk dump</a>.</td>
</tr>
<tr>
<td>Coprocessors</td>
<td><% java.util.Arrays.toString(master.getCoprocessors()) %></td>
<td>Coprocessors currently loaded by the master</td>
</tr>
<tr>
<td>HMaster Start Time</td>
<td><% new Date(master.getMasterStartTime()) %></td>
<td>Date stamp of when this HMaster was started</td>
</tr>
<tr>
<td>HMaster Active Time</td>
<td><% new Date(master.getMasterActiveTime()) %></td>
<td>Date stamp of when this HMaster became active</td>
</tr>
</table>
<section>
<h2>Software Attributes</h2>
<table id="attributes_table" class="table table-striped">
<tr>
<th>Attribute Name</th>
<th>Value</th>
<th>Description</th>
</tr>
<tr>
<td>HBase Version</td>
<td><% org.apache.hadoop.hbase.util.VersionInfo.getVersion() %>, r<% org.apache.hadoop.hbase.util.VersionInfo.getRevision() %></td><td>HBase version and revision</td>
</tr>
<tr>
<td>HBase Compiled</td>
<td><% org.apache.hadoop.hbase.util.VersionInfo.getDate() %>, <% org.apache.hadoop.hbase.util.VersionInfo.getUser() %></td>
<td>When HBase version was compiled and by whom</td>
</tr>
<tr>
<td>Hadoop Version</td>
<td><% org.apache.hadoop.util.VersionInfo.getVersion() %>, r<% org.apache.hadoop.util.VersionInfo.getRevision() %></td>
<td>Hadoop version and revision</td>
</tr>
<tr>
<td>Hadoop Compiled</td>
<td><% org.apache.hadoop.util.VersionInfo.getDate() %>, <% org.apache.hadoop.util.VersionInfo.getUser() %></td>
<td>When Hadoop version was compiled and by whom</td>
</tr>
<tr>
<td>HBase Root Directory</td>
<td><% FSUtils.getRootDir(master.getConfiguration()).toString() %></td>
<td>Location of HBase home directory</td>
</tr>
<tr>
<td>HBase Cluster ID</td>
<td><% master.getClusterId() != null ? master.getClusterId() : "Not set" %></td>
<td>Unique identifier generated for each HBase cluster</td>
</tr>
<tr>
<td>Load average</td>
<td><% StringUtils.limitDecimalTo2(master.getServerManager().getAverageLoad()) %></td>
<td>Average number of regions per regionserver. Naive computation.</td>
</tr>
<%if frags != null %>
<tr>
<td>Fragmentation</td>
<td><% frags.get("-TOTAL-") != null ? frags.get("-TOTAL-").intValue() + "%" : "n/a" %></td>
<td>Overall fragmentation of all tables, including .META. and -ROOT-.</td>
</tr>
</%if>
<tr>
<td>Zookeeper Quorum</td>
<td><% master.getZooKeeperWatcher().getQuorum() %></td>
<td>Addresses of all registered ZK servers. For more, see <a href="/zk.jsp">zk dump</a>.</td>
</tr>
<tr>
<td>Coprocessors</td>
<td><% java.util.Arrays.toString(master.getCoprocessors()) %></td>
<td>Coprocessors currently loaded by the master</td>
</tr>
<tr>
<td>HMaster Start Time</td>
<td><% new Date(master.getMasterStartTime()) %></td>
<td>Date stamp of when this HMaster was started</td>
</tr>
<tr>
<td>HMaster Active Time</td>
<td><% new Date(master.getMasterActiveTime()) %></td>
<td>Date stamp of when this HMaster became active</td>
</tr>
</table>
</section>
</div>
</div> <!-- /container -->
<script src="/static/js/jquery.min.js" type="text/javascript"></script>

View File

@ -48,27 +48,27 @@ Arrays.sort(serverNames);
</%java>
<div class="tabbable">
<ul class="nav nav-tabs">
<li class="active"><a href="#baseStats" data-toggle="tab">Base Stats</a></li>
<li class=""><a href="#memoryStats" data-toggle="tab">Memory</a></li>
<li class=""><a href="#requestStats" data-toggle="tab">Requests</a></li>
<li class=""><a href="#storeStats" data-toggle="tab">Storefiles</a></li>
<li class=""><a href="#compactStas" data-toggle="tab">Compactions</a></li>
<ul class="nav nav-pills">
<li class="active"><a href="#tab_baseStats" data-toggle="tab">Base Stats</a></li>
<li class=""><a href="#tab_memoryStats" data-toggle="tab">Memory</a></li>
<li class=""><a href="#tab_requestStats" data-toggle="tab">Requests</a></li>
<li class=""><a href="#tab_storeStats" data-toggle="tab">Storefiles</a></li>
<li class=""><a href="#tab_compactStas" data-toggle="tab">Compactions</a></li>
</ul>
<div class="tab-content" style="padding-bottom: 9px; border-bottom: 1px solid #ddd;">
<div class="tab-pane active" id="baseStats">
<div class="tab-pane active" id="tab_baseStats">
<& baseStats; serverNames = serverNames; &>
</div>
<div class="tab-pane" id="memoryStats">
<div class="tab-pane" id="tab_memoryStats">
<& memoryStats; serverNames = serverNames; &>
</div>
<div class="tab-pane" id="requestStats">
<div class="tab-pane" id="tab_requestStats">
<& requestStats; serverNames = serverNames; &>
</div>
<div class="tab-pane" id="storeStats">
<div class="tab-pane" id="tab_storeStats">
<& storeStats; serverNames = serverNames; &>
</div>
<div class="tab-pane" id="compactStas">
<div class="tab-pane" id="tab_compactStas">
<& compactionStats; serverNames = serverNames; &>
</div>
</div>

View File

@ -68,7 +68,7 @@ org.apache.hadoop.hbase.protobuf.generated.HBaseProtos.RegionLoad;
<span class="icon-bar"></span>
<span class="icon-bar"></span>
</a>
<a class="brand" href="/rs-status">HBase Region Server</a>
<a class="brand" href="/rs-status"><img src="/static/hbase_logo_small.png" alt="HBase Logo"/></a>
<div class="nav-collapse">
<ul class="nav">
<li class="active"><a href="/">Home</a></li>
@ -87,22 +87,27 @@ org.apache.hadoop.hbase.protobuf.generated.HBaseProtos.RegionLoad;
<div class="container">
<div class="row inner_header">
<div class="span8">
<h1>RegionServer: <% serverName.getHostname() %></h1>
</div>
<div class="span4 logo">
<img src="/static/hbase_logo.png" height="66" width="266" alt="HBase logo"/>
<div class="page-header">
<h1>RegionServer <small><% serverName.getHostname() %></small></h1>
</div>
</div>
<div class="row">
<section>
<h2>Server Metrics</h2>
<& ServerMetricsTmpl; mWrap = regionServer.getMetrics().getRegionServerWrapper(); &>
</section>
<section>
<& ../common/TaskMonitorTmpl; filter = filter &>
</section>
<section>
<h2>Regions</h2>
<& RegionListTmpl; regionServer = regionServer; onlineRegions = onlineRegions; &>
</section>
<section>
<h2>Software Attributes</h2>
<table id="attributes_table" class="table table-striped">
<tr>
@ -151,6 +156,8 @@ org.apache.hadoop.hbase.protobuf.generated.HBaseProtos.RegionLoad;
<td>Address of HBase Master</td>
</tr>
</table>
</section>
</div>
</div>
<script src="/static/js/jquery.min.js" type="text/javascript"></script>
<script src="/static/js/bootstrap.min.js" type="text/javascript"></script>

View File

@ -38,23 +38,23 @@
</%java>
<div class="tabbable">
<ul class="nav nav-tabs">
<li class="active"><a href="#regionBaseInfo" data-toggle="tab">Base Info</a> </li>
<li><a href="#regionRequestStats" data-toggle="tab">Request metrics</a></li>
<li class=""><a href="#regionStoreStats" data-toggle="tab">Storefile Metrics</a></li>
<li class=""><a href="#regionCompactStas" data-toggle="tab">Compaction Metrics</a></li>
<ul class="nav nav-pills">
<li class="active"><a href="#tab_regionBaseInfo" data-toggle="tab">Base Info</a> </li>
<li><a href="#tab_regionRequestStats" data-toggle="tab">Request metrics</a></li>
<li class=""><a href="#tab_regionStoreStats" data-toggle="tab">Storefile Metrics</a></li>
<li class=""><a href="#tab_regionCompactStas" data-toggle="tab">Compaction Metrics</a></li>
</ul>
<div class="tab-content" style="padding-bottom: 9px; border-bottom: 1px solid #ddd;">
<div class="tab-pane active" id="regionBaseInfo">
<div class="tab-pane active" id="tab_regionBaseInfo">
<& baseInfo; onlineRegions = onlineRegions; &>
</div>
<div class="tab-pane" id="regionRequestStats">
<div class="tab-pane" id="tab_regionRequestStats">
<& requestStats; onlineRegions = onlineRegions; &>
</div>
<div class="tab-pane" id="regionStoreStats">
<div class="tab-pane" id="tab_regionStoreStats">
<& storeStats; onlineRegions = onlineRegions; &>
</div>
<div class="tab-pane" id="regionCompactStas">
<div class="tab-pane" id="tab_regionCompactStas">
<& compactStats; onlineRegions = onlineRegions; &>
</div>
</div>

View File

@ -35,31 +35,31 @@ com.yammer.metrics.stats.Snapshot;
java.lang.management.ManagementFactory;
</%import>
<div class="tabbable">
<ul class="nav nav-tabs">
<li class="active"><a href="#baseStats" data-toggle="tab">Base Stats</a></li>
<li class=""><a href="#memoryStats" data-toggle="tab">Memory</a></li>
<li class=""><a href="#requestStats" data-toggle="tab">Requests</a></li>
<li class=""><a href="#storeStats" data-toggle="tab">Storefiles</a></li>
<li class=""><a href="#queueStats" data-toggle="tab">Queues</a></li>
<li class=""><a href="#blockCacheStats" data-toggle="tab">Block Cache</a></li>
<ul class="nav nav-pills">
<li class="active"><a href="#tab_baseStats" data-toggle="tab">Base Stats</a></li>
<li class=""><a href="#tab_memoryStats" data-toggle="tab">Memory</a></li>
<li class=""><a href="#tab_requestStats" data-toggle="tab">Requests</a></li>
<li class=""><a href="#tab_storeStats" data-toggle="tab">Storefiles</a></li>
<li class=""><a href="#tab_queueStats" data-toggle="tab">Queues</a></li>
<li class=""><a href="#tab_blockCacheStats" data-toggle="tab">Block Cache</a></li>
</ul>
<div class="tab-content" style="padding-bottom: 9px; border-bottom: 1px solid #ddd;">
<div class="tab-pane active" id="baseStats">
<div class="tab-pane active" id="tab_baseStats">
<& baseStats; mWrap = mWrap &>
</div>
<div class="tab-pane" id="memoryStats">
<div class="tab-pane" id="tab_memoryStats">
<& memoryStats; mWrap = mWrap &>
</div>
<div class="tab-pane" id="requestStats">
<div class="tab-pane" id="tab_requestStats">
<& requestStats; mWrap = mWrap &>
</div>
<div class="tab-pane" id="storeStats">
<div class="tab-pane" id="tab_storeStats">
<& storeStats; mWrap = mWrap &>
</div>
<div class="tab-pane" id="queueStats">
<div class="tab-pane" id="tab_queueStats">
<& queueStats; mWrap = mWrap &>
</div>
<div class="tab-pane" id="blockCacheStats">
<div class="tab-pane" id="tab_blockCacheStats">
<& blockCacheStats; mWrap = mWrap &>
</div>
</div>

View File

@ -91,7 +91,7 @@
<span class="icon-bar"></span>
<span class="icon-bar"></span>
</a>
<a class="brand" href="/master-status">HBase Master</a>
<a class="brand" href="/master-status"><img src="/static/hbase_logo_small.png" alt="HBase Logo"/></a>
<div class="nav-collapse">
<ul class="nav">
<li><a href="/">Home</a></li>
@ -108,12 +108,11 @@
<div class="container">
<div class="row inner_header">
<div class="span8">
<h1>Table action request accepted</h1>
</div>
<div class="span4 logo">
<img src="/static/hbase_logo.png" height="66" width="266" alt="HBase logo"/>
<div class="container">
<div class="row inner_header">
<div class="page-header">
<h1>Table action request accepted</h1>
</div>
</div>
</div>
<p><hr><p>
@ -183,14 +182,14 @@
<div class="container">
<div class="row">
<div class="span8">
<h1>Table: <%= tableName %></h1>
</div>
<div class="span4">
<img src="/static/hbase_logo.png" height="66" width="266" alt="HBase logo"/>
<div class="container">
<div class="row inner_header">
<div class="page-header">
<h1>Table <small><%= tableName %></small></h1>
</div>
</div>
</div>
<div class="row">
<%
if(tableName.equals(Bytes.toString(HConstants.ROOT_TABLE_NAME))) {
%>
@ -361,6 +360,7 @@ Actions:
</center>
<p>
</div>
</div>
<% } %>
<%
}

View File

@ -56,7 +56,7 @@
<span class="icon-bar"></span>
<span class="icon-bar"></span>
</a>
<a class="brand" href="/master-status">HBase Master</a>
<a class="brand" href="/master-status"><img src="/static/hbase_logo_small.png" alt="HBase Logo"/></a>
<div class="nav-collapse">
<ul class="nav">
<li><a href="/master-status">Home</a></li>
@ -73,12 +73,9 @@
<div class="container">
<div class="row inner_header">
<div class="span8">
<div class="page-header">
<h1>User Tables</h1>
</div>
<div class="span4 logo">
<img src="/static/hbase_logo.png" height="66" width="266" alt="HBase logo"/>
</div>
</div>
<% HTableDescriptor[] tables = new HBaseAdmin(conf).listTables();
@ -90,7 +87,7 @@
</tr>
<% for(HTableDescriptor htDesc : tables ) { %>
<tr>
<td><%= escapeXml(htDesc.getNameAsString()) %></td>
<td><a href="/table.jsp?name=<%= escapeXml(htDesc.getNameAsString()) %>"><%= escapeXml(htDesc.getNameAsString()) %></a></td>
<td><%= escapeXml(htDesc.toString()) %></td>
</tr>
<% } %>

View File

@ -61,7 +61,7 @@
<span class="icon-bar"></span>
<span class="icon-bar"></span>
</a>
<a class="brand" href="/rs-status">HBase Region Server</a>
<a class="brand" href="/master-status"><img src="/static/hbase_logo_small.png" alt="HBase Logo"/></a>
<div class="nav-collapse">
<ul class="nav">
<li><a href="/">Home</a></li>
@ -77,12 +77,9 @@
<div class="container">
<div class="row inner_header">
<div class="span8">
<div class="page-header">
<h1>Zookeeper Dump</h1>
</div>
<div class="span4 logo">
<img src="/static/hbase_logo.png" height="66" width="266" alt="HBase logo"/>
</div>
</div>
<div class="row">
<div class="span12">

File diff suppressed because one or more lines are too long

File diff suppressed because it is too large Load Diff

File diff suppressed because one or more lines are too long

View File

@ -18,3 +18,4 @@
body { padding-top: 60px; }
.logo img { float: right; }
.inner_header { margin-bottom: 1em;}
section { margin-bottom: 3em; }

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.9 KiB

File diff suppressed because it is too large Load Diff

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@ -20,18 +20,19 @@
$(document).ready(
function(){
$('.nav-tabs a').on('shown', function(event) {
var top = $(document).scrollTop();
location.hash = $(event.target).attr('href').substr(1);
$(document).scrollTop(top);
return false;
var prefix = "tab_";
$('.tabbable .nav-pills a').click(function (e) {
e.preventDefault();
location.hash = $(e.target).attr('href').substr(1).replace(prefix, "");
$(this).tab('show');
});
if (location.hash !== '') {
var tabItem = $('a[href="' + location.hash + '"]');
var tabItem = $('a[href="' + location.hash.replace("#", "#"+prefix) + '"]');
tabItem.tab('show');
$(document).scrollTop(0);
return false;
}
return true;
}
)
);