Kaynağa Gözat

HDFS-14334. RBF: Use human readable format for long numbers in the Router UI. Contributed by Inigo Goiri.

Giovanni Matteo Fumarola 6 yıl önce
ebeveyn
işleme
c99f62fdad

+ 8 - 8
hadoop-hdfs-project/hadoop-hdfs-rbf/src/main/webapps/router/federationhealth.html

@@ -177,10 +177,10 @@
           </div>
         </div>
       </td>
-      <td>{numOfFiles}</td>
-      <td>{numOfBlocks}</td>
-      <td>{numOfBlocksMissing}</td>
-      <td>{numOfBlocksUnderReplicated}</td>
+      <td>{numOfFiles|fmt_human_number}</td>
+      <td>{numOfBlocks|fmt_human_number}</td>
+      <td>{numOfBlocksMissing|fmt_human_number}</td>
+      <td>{numOfBlocksUnderReplicated|fmt_human_number}</td>
       <td>{numOfActiveDatanodes}</td>
       <td>{numOfDeadDatanodes}</td>
       <td>{numOfDecommissioningDatanodes}</td>
@@ -244,10 +244,10 @@
           </div>
         </div>
       </td>
-      <td>{numOfFiles}</td>
-      <td>{numOfBlocks}</td>
-      <td>{numOfBlocksMissing}</td>
-      <td>{numOfBlocksUnderReplicated}</td>
+      <td>{numOfFiles|fmt_human_number}</td>
+      <td>{numOfBlocks|fmt_human_number}</td>
+      <td>{numOfBlocksMissing|fmt_human_number}</td>
+      <td>{numOfBlocksUnderReplicated|fmt_human_number}</td>
       <td>{numOfActiveDatanodes}</td>
       <td>{numOfDeadDatanodes}</td>
       <td>{numOfDecommissioningDatanodes}</td>

+ 16 - 0
hadoop-hdfs-project/hadoop-hdfs/src/main/webapps/static/dfs-dust.js

@@ -96,6 +96,22 @@
 
     'fmt_number': function (v) {
       return v.toLocaleString();
+    },
+
+    'fmt_human_number': function (v) {
+      var UNITS = ['', 'K', 'M'];
+      var prev = 0, i = 0;
+      while (Math.floor(v) > 0 && i < UNITS.length) {
+        prev = v;
+        v /= 1000;
+        i += 1;
+      }
+
+      if (i > 0) {
+        v = prev;
+        i -= 1;
+      }
+      return Math.round(v * 100) / 100 + UNITS[i];
     }
   };
   $.extend(dust.filters, filters);