This is an automated email from the ASF dual-hosted git repository.
bipinprasad pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/storm.git
The following commit(s) were added to refs/heads/master by this push:
new f481eaf [STORM-3803] Format large integers with commas after three
digits in Storm UI (#3420)
f481eaf is described below
commit f481eaf043dba3b6c62ac27bb2306ef652f2ace9
Author: Bipin Prasad <[email protected]>
AuthorDate: Mon Nov 8 14:50:37 2021 -0500
[STORM-3803] Format large integers with commas after three digits in Storm
UI (#3420)
* [STORM-3803] Format large integers with thousands separator using commas
in storm UI pages..
* [STORM-3803] Remove space before first param in argument to render.number.
* [STORM-3803] Add conditional formatting for columns.
Co-authored-by: Bipin Prasad <[email protected]>
---
.../apache/storm/daemon/ui/WEB-INF/component.html | 20 +++++---
.../org/apache/storm/daemon/ui/WEB-INF/index.html | 5 +-
.../org/apache/storm/daemon/ui/WEB-INF/owner.html | 35 ++++++++++----
.../apache/storm/daemon/ui/WEB-INF/supervisor.html | 26 +++++++---
.../apache/storm/daemon/ui/WEB-INF/topology.html | 55 +++++++++++++++++-----
5 files changed, 105 insertions(+), 36 deletions(-)
diff --git
a/storm-webapp/src/main/java/org/apache/storm/daemon/ui/WEB-INF/component.html
b/storm-webapp/src/main/java/org/apache/storm/daemon/ui/WEB-INF/component.html
index cfa68ef..e48e96c 100644
---
a/storm-webapp/src/main/java/org/apache/storm/daemon/ui/WEB-INF/component.html
+++
b/storm-webapp/src/main/java/org/apache/storm/daemon/ui/WEB-INF/component.html
@@ -264,7 +264,8 @@ $(document).ready(function() {
info: false,
searching: false,
columnDefs: [
- {type: "num", targets: [1, 2, 3, 4, 5]},
+ {type: "num", targets: [1, 2, 4, 5], render:
$.fn.dataTable.render.number(',', '.', 0)},
+ {type: "num", targets: [3]},
{type: "time-str", targets: [0]}
]
});
@@ -275,7 +276,8 @@ $(document).ready(function() {
//stream, emitted, transferred, compltete latency, acked,
failed
dtAutoPage("#output-stats-table", {
columnDefs: [
- {type: "num", targets: [1, 2, 3, 4, 5]}
+ {type: "num", targets: [1, 2, 4, 5], render:
$.fn.dataTable.render.number(',', '.', 0)},
+ {type: "num", targets: [3]}
]
});
});
@@ -287,7 +289,8 @@ $(document).ready(function() {
columnDefs: [
{render: renderSupervisorPageLink, searchable: true,
targets: [2]},
{render: renderActionCheckbox, searchable: false,
targets: [4]},
- {type: "num", targets: [5, 6, 7, 8, 9]},
+ {type: "num", targets: [5, 6, 8, 9], render:
$.fn.dataTable.render.number(',', '.', 0)},
+ {type: "num", targets: [7]},
{type: "time-str", targets: [1]},
]
}).on("draw", function(e,s)
{setWorkerActionCheckboxesClickCallback()});
@@ -298,7 +301,8 @@ $(document).ready(function() {
//window, emitted, transferred, execute latency, executed,
process latency, acked, failed
dtAutoPage("#bolt-stats-table", {
columnDefs: [
- {type: "num", targets: [1, 2, 3, 4, 5, 6, 7]},
+ {type: "num", targets: [1, 2, 4, 6, 7], render:
$.fn.dataTable.render.number(',', '.', 0)},
+ {type: "num", targets: [3, 5]},
{type: "time-str", targets: [0]}
]
});
@@ -309,7 +313,8 @@ $(document).ready(function() {
//component, stream, execute latency, executed, process
latency, acked, failed
dtAutoPage("#bolt-input-stats-table", {
columnDefs: [
- {type: "num", targets: [2, 3, 4, 5, 6]}
+ {type: "num", targets: [2, 4]},
+ {type: "num", targets: [3, 5, 6], render:
$.fn.dataTable.render.number(',', '.', 0)}
]
});
});
@@ -319,7 +324,7 @@ $(document).ready(function() {
//stream, emitted, transferred
dtAutoPage("#bolt-output-stats-table", {
columnDefs: [
- {type: "num", targets: [1, 2]}
+ {type: "num", targets: [1, 2], render:
$.fn.dataTable.render.number(',', '.', 0)}
]
});
});
@@ -331,7 +336,8 @@ $(document).ready(function() {
columnDefs: [
{render: renderSupervisorPageLink, searchable: true,
targets: [2]},
{render: renderActionCheckbox, searchable: false,
targets: [4]},
- {type: "num", targets: [5, 6, 7, 8, 9, 10, 11, 12]},
+ {type: "num", targets: [5, 6, 9, 11, 12], render:
$.fn.dataTable.render.number(',', '.', 0)},
+ {type: "num", targets: [7, 8, 10]},
{type: "time-str", targets: [1]},
]
}).on("draw", function(e,s)
{setWorkerActionCheckboxesClickCallback()});
diff --git
a/storm-webapp/src/main/java/org/apache/storm/daemon/ui/WEB-INF/index.html
b/storm-webapp/src/main/java/org/apache/storm/daemon/ui/WEB-INF/index.html
index b1f2950..d41944d 100644
--- a/storm-webapp/src/main/java/org/apache/storm/daemon/ui/WEB-INF/index.html
+++ b/storm-webapp/src/main/java/org/apache/storm/daemon/ui/WEB-INF/index.html
@@ -199,7 +199,7 @@ $(document).ready(function() {
//name, owner, status, uptime, num workers, num executors,
num tasks, replication count, assigned total mem, assigned total cpu, scheduler
info
dtAutoPage("#topology-summary-table", {
columnDefs: [
- {type: "num", targets: [4, 5, 6, 7, 8, 9]},
+ {type: "num", targets: [4, 5, 6, 7, 8, 9], render:
$.fn.dataTable.render.number(',', '.', 0)},
{type: "time-str", targets: [3]}
]
});
@@ -210,10 +210,11 @@ $(document).ready(function() {
$.getJSON("/api/v1/supervisor/summary",function(response,status,jqXHR) {
jsError(function() {
supervisorSummary.append(Mustache.render($(indexTemplate).filter("#supervisor-summary-template").html(),response));
- //id, host, uptime, slots, used slots
+ //id, host, uptime, slots, used slots, avail slots, used
mem, version, blacklisted
dtAutoPage("#supervisor-summary-table", {
columnDefs: [
{type: "num", targets: [3, 4]},
+ {type: "num", targets: [6], render:
$.fn.dataTable.render.number(',', '.', 0)},
{type: "time-str", targets: [2]}
]
});
diff --git
a/storm-webapp/src/main/java/org/apache/storm/daemon/ui/WEB-INF/owner.html
b/storm-webapp/src/main/java/org/apache/storm/daemon/ui/WEB-INF/owner.html
index 4b3cb2a..5d5eda4 100644
--- a/storm-webapp/src/main/java/org/apache/storm/daemon/ui/WEB-INF/owner.html
+++ b/storm-webapp/src/main/java/org/apache/storm/daemon/ui/WEB-INF/owner.html
@@ -187,16 +187,31 @@
topologySummary.append(
Mustache.render($(template).filter("#owner-topology-summary-template").html(),
response));
- //name, owner, status, uptime, num workers, num executors,
num tasks, assigned total mem, assigned total cpu, scheduler info
- dtAutoPage("#owner-topology-summary-table", {
- columnDefs: [{
- type: "num",
- targets: [4, 5, 6, 7, 8]
- }, {
- type: "time-str",
- targets: [3]
- }]
- });
+ if (displayResource) {
+ // (0) name, (1) owner, (2) status, (3) uptime, (4)
workersTotal, (5) executorsTotal, (6) tasksTotal,
+ // (7) assignedTotalMem, [ (8) assignedCpu, ] (9),
schedulerInfo, (10) topologyVersion, (11) stormVersion
+ dtAutoPage("#owner-topology-summary-table", {
+ columnDefs: [{
+ type: "num", targets: [4, 5, 6]
+ }, {
+ type: "num", targets: [7, 8], render:
$.fn.dataTable.render.number(',', '.', 0)
+ }, {
+ type: "time-str", targets: [3]
+ }]
+ });
+ } else {
+ // (0) name, (1) owner, (2) status, (3) uptime, (4)
workersTotal, (5) executorsTotal, (6) tasksTotal,
+ // (7) assignedTotalMem, (8), schedulerInfo, (9)
topologyVersion, (10) stormVersion
+ dtAutoPage("#owner-topology-summary-table", {
+ columnDefs: [{
+ type: "num", targets: [4, 5, 6]
+ }, {
+ type: "num", targets: [7], render:
$.fn.dataTable.render.number(',', '.', 0)
+ }, {
+ type: "time-str", targets: [3]
+ }]
+ });
+ }
$('#topology-summary [data-toggle="tooltip"]').tooltip();
});
diff --git
a/storm-webapp/src/main/java/org/apache/storm/daemon/ui/WEB-INF/supervisor.html
b/storm-webapp/src/main/java/org/apache/storm/daemon/ui/WEB-INF/supervisor.html
index 5a07e8b..8cb1649 100644
---
a/storm-webapp/src/main/java/org/apache/storm/daemon/ui/WEB-INF/supervisor.html
+++
b/storm-webapp/src/main/java/org/apache/storm/daemon/ui/WEB-INF/supervisor.html
@@ -120,14 +120,28 @@ $(document).ready(function() {
jsError(function() {
supervisorSummary.append(
Mustache.render($(template).filter("#supervisor-summary-template").html(),response));
-
- //id, host, uptime, slots, used slots
- dtAutoPage("#supervisor-summary-table", {
+ var displayResource = response["schedulerDisplayResource"];
+ if (displayResource){
+ // (0) host, (1) supervisor id, (2) uptime, (3) slots, (4)
used slots, (5) total mem (6) used mem,
+ // (7) availMem (8) totalCpu (9) usedCpu (10) availCpu (11)
totalGenericResources
+ // (12) usedGenericResources (13) availGenericResources (14)
version, (15) blacklisted
+ dtAutoPage("#supervisor-summary-table", {
columnDefs: [
- {type: "num", targets: [3, 4]},
- {type: "time-str", targets: [2]}
+ {type: "num", targets: [3, 4]},
+ {type: "num", targets: [5, 6, 7, 8, 9, 10, 11, 12, 13],
render: $.fn.dataTable.render.number(',', '.', 0)},
+ {type: "time-str", targets: [2]}
]
- });
+ });
+ } else {
+ // (0) host, (1) supervisor id, (2) uptime, (3) slots, (4)
used slots, (5) used mem, (6) version, (7) blacklisted
+ dtAutoPage("#supervisor-summary-table", {
+ columnDefs: [
+ {type: "num", targets: [3, 4]},
+ {type: "num", targets: [5], render:
$.fn.dataTable.render.number(',', '.', 0)},
+ {type: "time-str", targets: [2]}
+ ]
+ });
+ }
$('#supervisor-summary-table
[data-toggle="tooltip"]').tooltip();
workerStats.append(Mustache.render($(template).filter("#worker-stats-template").html(),response));
diff --git
a/storm-webapp/src/main/java/org/apache/storm/daemon/ui/WEB-INF/topology.html
b/storm-webapp/src/main/java/org/apache/storm/daemon/ui/WEB-INF/topology.html
index a57a6c1..f0d1088 100644
---
a/storm-webapp/src/main/java/org/apache/storm/daemon/ui/WEB-INF/topology.html
+++
b/storm-webapp/src/main/java/org/apache/storm/daemon/ui/WEB-INF/topology.html
@@ -331,24 +331,57 @@ $(document).ready(function() {
info: false,
searching: false,
columnDefs: [
- {type: "num", targets: [1, 2, 3, 4, 5]},
+ {type: "num", targets: [1, 2, 4, 5], render:
$.fn.dataTable.render.number(',', '.', 0)},
+ {type: "num", targets: [3]},
{type: "time-str", targets: [0]}
]
});
spoutStats.append(Mustache.render($(template).filter("#spout-stats-template").html(),response));
- dtAutoPage("#spout-stats-table", {
- columnDefs: [
- {type: "num", targets: 'table-num'}
- ]
- });
+ if (displayResource){
+ // (0) id, (1) executors, [(2) requestedMemOnHeap, (3)
requestedMemOffHeap, (4) requestedCpu,
+ // (5) requestedGenericResourcesComp], (6) tasks, (7) emitted,
(8) transferred, (9) latency, (10) acked,
+ // (11) failed, (12) error host, (13) error port, (14) last
error, (15) error time
+ dtAutoPage("#spout-stats-table", {
+ columnDefs: [
+ {type: "num", targets: [1, 6, 9]},
+ {type: "num", targets: [2, 3, 4, 5, 7, 8, 10, 11], render:
$.fn.dataTable.render.number(',', '.', 0)}
+ ]
+ });
+ } else {
+ // (0) id, (1) executors, (2) tasks, (3) emitted, (4)
transferred, (5) latency, (6) acked, (7) failed,
+ // (8) error host, (9) error port, (10) last error, (11) error
time
+ dtAutoPage("#spout-stats-table", {
+ columnDefs: [
+ {type: "num", targets: [1, 2, 5]},
+ {type: "num", targets: [3, 4, 6, 7], render:
$.fn.dataTable.render.number(',', '.', 0)}
+ ]
+ });
+ }
boltStats.append(Mustache.render($(template).filter("#bolt-stats-template").html(),response));
- dtAutoPage("#bolt-stats-table", {
- columnDefs: [
- {type: "num", targets: 'table-num'}
- ]
- });
+ if (displayResource){
+ // (0) id, (1) executors, (2) tasks, [(3) requestedMemOnHeap,
(4) requestedMemOffHeap, (5) requestedCpu,
+ // (6) requestedGenericResourcesComp], (7) emitted, (8)
transferred, (9) capacity, (10) exec latency,
+ // (11) executed, (12) process latency, (13) acked, (14) failed,
(15) error host, (16) error port,
+ // (17) last error, (18) error time
+ dtAutoPage("#bolt-stats-table", {
+ columnDefs: [
+ {type: "num", targets: [1, 2, 9, 10, 12, 16]},
+ {type: "num", targets: [3, 4, 5, 6, 7, 8, 11, 13, 14],
render: $.fn.dataTable.render.number(',', '.', 0)}
+ ]
+ });
+ } else {
+ // (0) id, (1) executors, (2) tasks, (3) emitted, (4)
transferred, (5) capacity, (6) exec latency,
+ // (7) executed, (8) process latency, (9) acked, (10) failed,
(11) error host, (12) error port,
+ // (13) last error, (14) error time
+ dtAutoPage("#bolt-stats-table", {
+ columnDefs: [
+ {type: "num", targets: [1, 2, 5, 6, 8, 12]},
+ {type: "num", targets: [3, 4, 7, 9, 10], render:
$.fn.dataTable.render.number(',', '.', 0)}
+ ]
+ });
+ }
jsError(function() {
workerStats.append(Mustache.render($(template).filter("#worker-stats-template").html(),response));