HBASE-22878 Show table throttle quotas in table jsp (#510)

This commit is contained in:
meiyi 2019-09-03 09:53:44 +08:00
parent 34eab1e3dd
commit b0456f3297
2 changed files with 43 additions and 3 deletions

View File

@ -123,10 +123,15 @@ public class QuotaSettingsFactory {
return settings; return settings;
} }
protected static List<QuotaSettings> fromThrottle(final String userName, public static List<ThrottleSettings> fromTableThrottles(final TableName tableName,
final QuotaProtos.Throttle throttle) {
return fromThrottle(null, tableName, null, null, throttle);
}
protected static List<ThrottleSettings> fromThrottle(final String userName,
final TableName tableName, final String namespace, final String regionServer, final TableName tableName, final String namespace, final String regionServer,
final QuotaProtos.Throttle throttle) { final QuotaProtos.Throttle throttle) {
List<QuotaSettings> settings = new ArrayList<>(); List<ThrottleSettings> settings = new ArrayList<>();
if (throttle.hasReqNum()) { if (throttle.hasReqNum()) {
settings.add(ThrottleSettings.fromTimedQuota(userName, tableName, namespace, regionServer, settings.add(ThrottleSettings.fromTimedQuota(userName, tableName, namespace, regionServer,
ThrottleType.REQUEST_NUMBER, throttle.getReqNum())); ThrottleType.REQUEST_NUMBER, throttle.getReqNum()));

View File

@ -22,7 +22,6 @@
import="static org.apache.commons.lang3.StringEscapeUtils.escapeXml" import="static org.apache.commons.lang3.StringEscapeUtils.escapeXml"
import="java.util.ArrayList" import="java.util.ArrayList"
import="java.util.Collection" import="java.util.Collection"
import="java.util.Collections"
import="java.util.LinkedHashMap" import="java.util.LinkedHashMap"
import="java.util.List" import="java.util.List"
import="java.util.Map" import="java.util.Map"
@ -46,8 +45,10 @@
import="org.apache.hadoop.hbase.client.RegionReplicaUtil" import="org.apache.hadoop.hbase.client.RegionReplicaUtil"
import="org.apache.hadoop.hbase.client.Table" import="org.apache.hadoop.hbase.client.Table"
import="org.apache.hadoop.hbase.master.HMaster" import="org.apache.hadoop.hbase.master.HMaster"
import="org.apache.hadoop.hbase.quotas.QuotaSettingsFactory"
import="org.apache.hadoop.hbase.quotas.QuotaTableUtil" import="org.apache.hadoop.hbase.quotas.QuotaTableUtil"
import="org.apache.hadoop.hbase.quotas.SpaceQuotaSnapshot" import="org.apache.hadoop.hbase.quotas.SpaceQuotaSnapshot"
import="org.apache.hadoop.hbase.quotas.ThrottleSettings"
import="org.apache.hadoop.hbase.util.Bytes" import="org.apache.hadoop.hbase.util.Bytes"
import="org.apache.hadoop.hbase.util.FSUtils" import="org.apache.hadoop.hbase.util.FSUtils"
import="org.apache.hadoop.hbase.zookeeper.MetaTableLocator" import="org.apache.hadoop.hbase.zookeeper.MetaTableLocator"
@ -345,6 +346,40 @@ if (fqtn != null && master.isInitialized()) {
</tr> </tr>
<% <%
} }
if (quota.hasThrottle()) {
List<ThrottleSettings> throttles = QuotaSettingsFactory.fromTableThrottles(table.getName(), quota.getThrottle());
if (throttles.size() > 0) {
%>
<tr>
<td>Throttle Quota</td>
<td>
<table>
<tr>
<th>Limit</th>
<th>Type</th>
<th>TimeUnit</th>
<th>Scope</th>
</tr>
<%
for (ThrottleSettings throttle : throttles) {
%>
<tr>
<td><%= throttle.getSoftLimit() %></td>
<td><%= throttle.getThrottleType() %></td>
<td><%= throttle.getTimeUnit() %></td>
<td><%= throttle.getQuotaScope() %></td>
</tr>
<%
}
%>
</table>
</td>
<td>Information about a Throttle Quota on this table, if set.</td>
</tr>
<%
}
}
} }
%> %>
</table> </table>