You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@hbase.apache.org by wc...@apache.org on 2019/08/09 13:29:52 UTC
[hbase] branch master updated: HBASE-22543 Revisit HBASE-21207 to
make all values fully sortable
This is an automated email from the ASF dual-hosted git repository.
wchevreuil pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/hbase.git
The following commit(s) were added to refs/heads/master by this push:
new 0136b98 HBASE-22543 Revisit HBASE-21207 to make all values fully sortable
0136b98 is described below
commit 0136b9873ff753ca181403d280a6e9ea135fbc95
Author: Daisuke Kobayashi <po...@gmail.com>
AuthorDate: Thu Aug 8 20:07:10 2019 +0900
HBASE-22543 Revisit HBASE-21207 to make all values fully sortable
Signed-off-by: Wellington Chevreuil <wc...@apache.org>
---
.../hbase/tmpl/master/MasterStatusTmpl.jamon | 76 ++++++++++++++++++++--
.../hbase/tmpl/master/RegionServerListTmpl.jamon | 22 +++----
.../hbase/tmpl/regionserver/RSStatusTmpl.jamon | 44 +++++++++++--
.../hbase/tmpl/regionserver/RegionListTmpl.jamon | 14 ++--
.../main/resources/hbase-webapps/master/table.jsp | 59 ++++++++++++++++-
5 files changed, 185 insertions(+), 30 deletions(-)
diff --git a/hbase-server/src/main/jamon/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.jamon b/hbase-server/src/main/jamon/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.jamon
index f30cf5d..95b59a3 100644
--- a/hbase-server/src/main/jamon/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.jamon
+++ b/hbase-server/src/main/jamon/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.jamon
@@ -404,11 +404,77 @@ AssignmentManager assignmentManager = master.getAssignmentManager();
<script>
$(document).ready(function()
{
- $("#baseStatsTable").tablesorter();
- $("#memoryStatsTable").tablesorter();
- $("#requestStatsTable").tablesorter();
- $("#storeStatsTable").tablesorter();
- $("#compactionStatsTable").tablesorter();
+ $.tablesorter.addParser(
+ {
+ id: 'filesize',
+ is: function(s) {
+ return s.match(new RegExp( /([\.0-9]+)\ (B|KB|MB|GB|TB)/ ));
+ },
+ format: function(s) {
+ var suf = s.match(new RegExp( /(KB|B|GB|MB|TB)$/ ))[1];
+ var num = parseFloat(s.match( new RegExp( /([\.0-9]+)\ (B|KB|MB|GB|TB)/ ))[0]);
+ switch(suf) {
+ case 'B':
+ return num;
+ case 'KB':
+ return num * 1024;
+ case 'MB':
+ return num * 1024 * 1024;
+ case 'GB':
+ return num * 1024 * 1024 * 1024;
+ case 'TB':
+ return num * 1024 * 1024 * 1024 * 1024;
+ }
+ },
+ type: 'numeric'
+ });
+ $.tablesorter.addParser(
+ {
+ id: "separator",
+ is: function (s) {
+ return /^[0-9]?[0-9,]*$/.test(s);
+ }, format: function (s) {
+ return $.tablesorter.formatFloat( s.replace(/,/g,'') );
+ }, type: "numeric"
+ });
+ $("#baseStatsTable").tablesorter({
+ headers: {
+ 4: {sorter: 'separator'},
+ 5: {sorter: 'separator'}
+ }
+ });
+ $("#memoryStatsTable").tablesorter({
+ headers: {
+ 1: {sorter: 'filesize'},
+ 2: {sorter: 'filesize'},
+ 3: {sorter: 'filesize'}
+ }
+ });
+ $("#requestStatsTable").tablesorter({
+ headers: {
+ 1: {sorter: 'separator'},
+ 2: {sorter: 'separator'},
+ 3: {sorter: 'separator'},
+ 4: {sorter: 'separator'}
+ }
+ });
+ $("#storeStatsTable").tablesorter({
+ headers: {
+ 1: {sorter: 'separator'},
+ 2: {sorter: 'separator'},
+ 3: {sorter: 'filesize'},
+ 4: {sorter: 'filesize'},
+ 5: {sorter: 'filesize'},
+ 6: {sorter: 'filesize'}
+ }
+ });
+ $("#compactionStatsTable").tablesorter({
+ headers: {
+ 1: {sorter: 'separator'},
+ 2: {sorter: 'separator'},
+ 3: {sorter: 'separator'}
+ }
+ });
$("#userTables").tablesorter();
}
diff --git a/hbase-server/src/main/jamon/org/apache/hadoop/hbase/tmpl/master/RegionServerListTmpl.jamon b/hbase-server/src/main/jamon/org/apache/hadoop/hbase/tmpl/master/RegionServerListTmpl.jamon
index 0afc705..1346ce8 100644
--- a/hbase-server/src/main/jamon/org/apache/hadoop/hbase/tmpl/master/RegionServerListTmpl.jamon
+++ b/hbase-server/src/main/jamon/org/apache/hadoop/hbase/tmpl/master/RegionServerListTmpl.jamon
@@ -125,8 +125,8 @@ Arrays.sort(serverNames);
<td><% new Date(startcode) %></td>
<td><% TraditionalBinaryPrefix.long2String(lastContact, "s", 1) %></td>
<td><% version %></td>
- <td><% String.format("%.0f", requestsPerSecond) %></td>
- <td><% numRegionsOnline %></td>
+ <td><% String.format("%,.0f", requestsPerSecond) %></td>
+ <td><% String.format("%,d", numRegionsOnline) %></td>
</tr>
<%java>
}
@@ -225,10 +225,10 @@ if (sl != null) {
</%java>
<tr>
<td><& serverNameLink; serverName=serverName; &></td>
-<td><% sl.getRequestCountPerSecond() %></td>
-<td><% readRequestCount %></td>
-<td><% filteredReadRequestCount %></td>
-<td><% writeRequestCount %></td>
+<td><% String.format("%,d", sl.getRequestCountPerSecond()) %></td>
+<td><% String.format("%,d", readRequestCount) %></td>
+<td><% String.format("%,d", filteredReadRequestCount) %></td>
+<td><% String.format("%,d", writeRequestCount) %></td>
</tr>
<%java>
} else {
@@ -282,8 +282,8 @@ if (sl != null) {
</%java>
<tr>
<td><& serverNameLink; serverName=serverName; &></td>
-<td><% storeCount %></td>
-<td><% storeFileCount %></td>
+<td><% String.format("%,d", storeCount) %></td>
+<td><% String.format("%,d", storeFileCount) %></td>
<td><% TraditionalBinaryPrefix.long2String(
storeUncompressedSizeMB * TraditionalBinaryPrefix.MEGA.value, "B", 1) %></td>
<td><% TraditionalBinaryPrefix.long2String(storeFileSizeMB
@@ -339,9 +339,9 @@ if (totalCompactingCells > 0) {
</%java>
<tr>
<td><& serverNameLink; serverName=serverName; &></td>
-<td><% totalCompactingCells %></td>
-<td><% totalCompactedCells %></td>
-<td><% totalCompactingCells - totalCompactedCells %></td>
+<td><% String.format("%,d", totalCompactingCells) %></td>
+<td><% String.format("%,d", totalCompactedCells) %></td>
+<td><% String.format("%,d", totalCompactingCells - totalCompactedCells) %></td>
<td><% percentDone %></td>
</tr>
<%java>
diff --git a/hbase-server/src/main/jamon/org/apache/hadoop/hbase/tmpl/regionserver/RSStatusTmpl.jamon b/hbase-server/src/main/jamon/org/apache/hadoop/hbase/tmpl/regionserver/RSStatusTmpl.jamon
index a4ef63a..2b07523 100644
--- a/hbase-server/src/main/jamon/org/apache/hadoop/hbase/tmpl/regionserver/RSStatusTmpl.jamon
+++ b/hbase-server/src/main/jamon/org/apache/hadoop/hbase/tmpl/regionserver/RSStatusTmpl.jamon
@@ -270,11 +270,47 @@ $(document).ready(function()
},
type: 'numeric'
});
+ $.tablesorter.addParser(
+ {
+ id: "separator",
+ is: function (s) {
+ return /^[0-9]?[0-9,]*$/.test(s);
+ },
+ format: function (s) {
+ return $.tablesorter.formatFloat( s.replace(/,/g,'') );
+ },
+ type: "numeric"
+ });
+
$("#baseStatsTable").tablesorter();
- $("#requestStatsTable").tablesorter();
- $("#storeStatsTable").tablesorter();
- $("#compactionStatsTable").tablesorter();
- $("#memstoreStatsTable").tablesorter();
+ $("#requestStatsTable").tablesorter({
+ headers: {
+ 1: {sorter: 'separator'},
+ 2: {sorter: 'separator'},
+ 3: {sorter: 'separator'}
+ }
+ });
+ $("#storeStatsTable").tablesorter({
+ headers: {
+ 1: {sorter: 'separator'},
+ 2: {sorter: 'separator'},
+ 3: {sorter: 'filesize'},
+ 4: {sorter: 'filesize'},
+ 5: {sorter: 'filesize'},
+ 6: {sorter: 'filesize'}
+ }
+ });
+ $("#compactionStatsTable").tablesorter({
+ headers: {
+ 1: {sorter: 'separator'},
+ 2: {sorter: 'separator'}
+ }
+ });
+ $("#memstoreStatsTable").tablesorter({
+ headers: {
+ 1: {sorter: 'filesize'}
+ }
+ });
}
);
</script>
diff --git a/hbase-server/src/main/jamon/org/apache/hadoop/hbase/tmpl/regionserver/RegionListTmpl.jamon b/hbase-server/src/main/jamon/org/apache/hadoop/hbase/tmpl/regionserver/RegionListTmpl.jamon
index 7e983f5..066fe53 100644
--- a/hbase-server/src/main/jamon/org/apache/hadoop/hbase/tmpl/regionserver/RegionListTmpl.jamon
+++ b/hbase-server/src/main/jamon/org/apache/hadoop/hbase/tmpl/regionserver/RegionListTmpl.jamon
@@ -142,9 +142,9 @@
</%java>
<td><a href="region.jsp?name=<% r.getEncodedName() %>"><% displayName %></a></td>
<%if load != null %>
- <td><% load.getReadRequestsCount() %></td>
- <td><% load.getFilteredReadRequestsCount() %></td>
- <td><% load.getWriteRequestsCount() %></td>
+ <td><% String.format("%,1d", load.getReadRequestsCount()) %></td>
+ <td><% String.format("%,1d", load.getFilteredReadRequestsCount()) %></td>
+ <td><% String.format("%,1d", load.getWriteRequestsCount()) %></td>
</%if>
</tr>
</%for>
@@ -182,8 +182,8 @@
</%java>
<td><a href="region.jsp?name=<% r.getEncodedName() %>"><% displayName %></a></td>
<%if load != null %>
- <td><% load.getStores() %></td>
- <td><% load.getStorefiles() %></td>
+ <td><% String.format("%,1d", load.getStores()) %></td>
+ <td><% String.format("%,1d", load.getStorefiles()) %></td>
<td><% TraditionalBinaryPrefix.long2String(load.getStoreUncompressedSizeMB()
* TraditionalBinaryPrefix.MEGA.value, "B", 1)%></td>
<td><% TraditionalBinaryPrefix.long2String(load.getStorefileSizeMB()
@@ -239,8 +239,8 @@
</%java>
<td><a href="region.jsp?name=<% r.getEncodedName() %>"><% displayName %></a></td>
<%if load != null %>
- <td><% load.getTotalCompactingKVs() %></td>
- <td><% load.getCurrentCompactedKVs() %></td>
+ <td><% String.format("%,1d", load.getTotalCompactingKVs()) %></td>
+ <td><% String.format("%,1d", load.getCurrentCompactedKVs()) %></td>
<td><% percentDone %></td>
<td><% compactTime %></td>
</%if>
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 6b4427e..fb1d513 100644
--- a/hbase-server/src/main/resources/hbase-webapps/master/table.jsp
+++ b/hbase-server/src/main/resources/hbase-webapps/master/table.jsp
@@ -726,9 +726,62 @@ Actions:
<script>
$(document).ready(function()
{
- $("#regionServerTable").tablesorter();
- $("#regionServerDetailsTable").tablesorter();
- $("#tableRegionTable").tablesorter();
+ $.tablesorter.addParser(
+ {
+ id: 'filesize',
+ is: function(s) {
+ return s.match(new RegExp( /([\.0-9]+)\ (B|KB|MB|GB|TB)/ ));
+ },
+ format: function(s) {
+ var suf = s.match(new RegExp( /(B|KB|MB|GB|TB)$/ ))[1];
+ var num = parseFloat(s.match( new RegExp( /([\.0-9]+)\ (B|KB|MB|GB|TB)/ ))[0]);
+ switch(suf) {
+ case 'B':
+ return num;
+ case 'KB':
+ return num * 1024;
+ case 'MB':
+ return num * 1024 * 1024;
+ case 'GB':
+ return num * 1024 * 1024 * 1024;
+ case 'TB':
+ return num * 1024 * 1024 * 1024 * 1024;
+ }
+ },
+ type: 'numeric'
+ });
+ $.tablesorter.addParser(
+ {
+ id: "separator",
+ is: function (s) {
+ return /^[0-9]?[0-9,]*$/.test(s);
+ }, format: function (s) {
+ return $.tablesorter.formatFloat( s.replace(/,/g,'') );
+ }, type: "numeric"
+ });
+ $("#regionServerTable").tablesorter({
+ headers: {
+ 1: {sorter: 'separator'}
+ }
+ });
+ $("#regionServerDetailsTable").tablesorter({
+ headers: {
+ 2: {sorter: 'separator'},
+ 3: {sorter: 'separator'},
+ 4: {sorter: 'filesize'},
+ 5: {sorter: 'separator'},
+ 6: {sorter: 'filesize'}
+ }
+ });
+ $("#tableRegionTable").tablesorter({
+ headers: {
+ 2: {sorter: 'separator'},
+ 3: {sorter: 'separator'},
+ 4: {sorter: 'filesize'},
+ 5: {sorter: 'separator'},
+ 6: {sorter: 'filesize'}
+ }
+ });
}
);
</script>