Index: hadoop-yarn-project/hadoop-yarn/hadoop-yarn-common/src/main/resources/webapps/static/yarn.dt.plugins.js
===================================================================
--- hadoop-yarn-project/hadoop-yarn/hadoop-yarn-common/src/main/resources/webapps/static/yarn.dt.plugins.js (revision 1617855)
+++ hadoop-yarn-project/hadoop-yarn/hadoop-yarn-common/src/main/resources/webapps/static/yarn.dt.plugins.js (working copy)
@@ -138,3 +138,36 @@
//Return the title attribute for 'sort', 'filter', 'type' and undefined
return data.split("'")[1];
}
+
+function renderReadableMemory(data, type, full) {
+ if (type === 'display' || type === 'filter') {
+
+ var bytes = parseFloat(data);
+ var precision = 2;
+ var kilobyte = 1024;
+ var megabyte = kilobyte * 1024;
+ var gigabyte = megabyte * 1024;
+ var terabyte = gigabyte * 1024;
+
+ if ((bytes >= 0) && (bytes < kilobyte)) {
+ return bytes + ' B';
+
+ } else if ((bytes >= kilobyte) && (bytes < megabyte)) {
+ return (bytes / kilobyte).toFixed(precision) + ' KB';
+
+ } else if ((bytes >= megabyte) && (bytes < gigabyte)) {
+ return (bytes / megabyte).toFixed(precision) + ' MB';
+
+ } else if ((bytes >= gigabyte) && (bytes < terabyte)) {
+ return (bytes / gigabyte).toFixed(precision) + ' GB';
+
+ } else if (bytes >= terabyte) {
+ return (bytes / terabyte).toFixed(precision) + ' TB';
+
+ } else {
+ return '-1';
+ }
+ }
+ // 'sort', 'type' and undefined all just use the number
+ return data;
+}
Index: hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/main/java/org/apache/hadoop/yarn/server/resourcemanager/webapp/AppsBlock.java
===================================================================
--- hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/main/java/org/apache/hadoop/yarn/server/resourcemanager/webapp/AppsBlock.java (revision 1617855)
+++ hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/main/java/org/apache/hadoop/yarn/server/resourcemanager/webapp/AppsBlock.java (working copy)
@@ -66,6 +66,7 @@
th(".finishtime", "FinishTime").
th(".state", "State").
th(".finalstatus", "FinalStatus").
+ th(".totalmemory", "Total Memory").
th(".progress", "Progress").
th(".ui", "Tracking UI")._()._().
tbody();
@@ -101,6 +102,7 @@
.append(appInfo.getFinishTime()).append("\",\"")
.append(appInfo.getState()).append("\",\"")
.append(appInfo.getFinalStatus()).append("\",\"")
+ .append(appInfo.getTotalMemory()).append("\",\"")
// Progress bar
.append("