drill-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From vita...@apache.org
Subject [07/13] drill git commit: DRILL-6224: Publish metrics gauge values correctly
Date Mon, 26 Mar 2018 11:35:02 GMT
DRILL-6224: Publish metrics gauge values correctly

The `metrics.ftl` page had gauges incorrectly set to near zero values. The commit for metrics.ftl
fixes that, and also provides an estimate of the current direct memory actively in use (based
on the `drill.allocator.root.used` value reported by the Drillbit)

closes #1160


Project: http://git-wip-us.apache.org/repos/asf/drill/repo
Commit: http://git-wip-us.apache.org/repos/asf/drill/commit/3167771f
Tree: http://git-wip-us.apache.org/repos/asf/drill/tree/3167771f
Diff: http://git-wip-us.apache.org/repos/asf/drill/diff/3167771f

Branch: refs/heads/master
Commit: 3167771fa666af5dae3b839000fabddfb814f8e3
Parents: 590a72b
Author: Kunal Khatua <kkhatua@maprtech.com>
Authored: Thu Mar 22 22:03:27 2018 -0700
Committer: Vitalii Diravka <vitalii.diravka@gmail.com>
Committed: Sat Mar 24 20:35:32 2018 +0200

----------------------------------------------------------------------
 .../src/main/resources/rest/metrics/metrics.ftl | 39 +++++++++++++++-----
 1 file changed, 29 insertions(+), 10 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/drill/blob/3167771f/exec/java-exec/src/main/resources/rest/metrics/metrics.ftl
----------------------------------------------------------------------
diff --git a/exec/java-exec/src/main/resources/rest/metrics/metrics.ftl b/exec/java-exec/src/main/resources/rest/metrics/metrics.ftl
index fbd2f4e..dfa5ece 100644
--- a/exec/java-exec/src/main/resources/rest/metrics/metrics.ftl
+++ b/exec/java-exec/src/main/resources/rest/metrics/metrics.ftl
@@ -43,6 +43,11 @@
         <div id="totalUsage" class="progress-bar" role="progressbar" aria-valuenow="50"
aria-valuemin="0" aria-valuemax="100" style="width: 50%;">
         </div>
       </div>
+      Actively Used Direct (Estimate)
+      <div class="progress">
+        <div id="estDirectUsage" class="progress-bar" role="progressbar" aria-valuenow="50"
aria-valuemin="0" aria-valuemax="100" style="width: 50%;">
+        </div>
+      </div>
     </div>
 
     <div id="mainDiv" class="col-md-9" role="main">
@@ -77,6 +82,15 @@
     var round = function(val, n) {
       return Math.round(val * Math.pow(10, n)) / Math.pow(10, n);
     };
+    var isAllocator = function(metricName) {
+      return (metricName.startsWith("drill.allocator"));
+    };
+    function getGBUsageText(val, perc) {
+      if (isNaN(perc)) {
+        perc = 0;
+      }
+      return round((val / 1073741824), 2) + "GB (" + Math.max(0, perc) + "%)";
+    }
 
     function updateGauges(gauges) {
       $("#gaugesTable").html(function() {
@@ -109,18 +123,23 @@
     };
 
     function updateBars(gauges) {
-      $.each(["heap","non-heap","total"], function(i, key) {
-        var used    = gauges[key + ".used"].value;
-        var max     = gauges[key + ".max"].value;
-        var usage   = round((used / 1073741824), 2) + "GB";
-        var percent = round((used / max), 2);
-
-        var styleVal = "width: " + percent + "%;"
-        $("#" + key + "Usage").attr({
+      $.each(["heap","non-heap","total","drill.allocator.root"], function(i, key) {
+        var used = gauges[key + ".used"].value;
+        var max;
+        if (isAllocator(key)) {
+          max = gauges[key + ".peak"].value;
+        } else {
+          max = gauges[key + ".max"].value;
+        }
+        var percent = round((100 * used / max), 2);
+        var usage = getGBUsageText(used, percent);
+
+        var styleVal = "width: " + percent + "%;color: #202020;white-space: nowrap"
+        $("#" + (isAllocator(key) ? "estDirect" : key) + "Usage").attr({
           "aria-valuenow" : percent,
           "style" : styleVal
         });
-        $("#" + key + "Usage").html(usage);
+        $("#" + (isAllocator(key) ? "estDirect" : key) + "Usage").html(usage);
       });
     };
 
@@ -159,7 +178,7 @@
     };
 
     update();
-    setInterval(update, 2000);
+    setInterval(update, 3000);
   </script>
 </#macro>
 


Mime
View raw message