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("