Github user arina-ielchiieva commented on a diff in the pull request:

    https://github.com/apache/drill/pull/1160#discussion_r174444297
  
    --- Diff: exec/java-exec/src/main/resources/rest/index.ftl ---
    @@ -291,6 +300,46 @@
                 var url = protocol + "//" + host + requestPath;
                 return url;
           }
    +
    +      //Iterates through all the nodes for update
    +      function reloadMemory () {
    +          for (i = 1; i <= size; i++) {
    +              var address = 
$("#row-"+i).find("#address").contents().get(0).nodeValue.trim();
    +              updateMemory(address, i);
    +          }
    +      }
    +
    +      //Update memory
    +      function updateMemory(drillbit,idx) {
    +        var result = $.ajax({
    +          type: 'GET',
    +          url: "http://"+drillbit+":8047/status/metrics";,
    +          dataType: "json",
    +          complete: function(data) {
    +            var metrics = data.responseJSON['gauges'];
    +            var usedHeap = metrics['heap.used'].value;
    +            var maxHeap  = metrics['heap.max'].value;
    +            var usedDirect = metrics['drill.allocator.root.used'].value;
    +            var peakDirect = metrics['drill.allocator.root.peak'].value;
    +            var heapUsage    = computeMemUsage(usedHeap,maxHeap);
    +            var directUsage  = computeMemUsage(usedDirect,peakDirect);
    +            var heapElem = 
document.getElementById("row-"+idx).getElementsByClassName("heap")[0];
    +            heapElem.innerHTML = heapUsage;
    +            var directElem = 
document.getElementById("row-"+idx).getElementsByClassName("direct")[0];
    +            directElem.innerHTML = directUsage;
    +            }
    +          });
    +      }
    +
    +      //Compute Usage
    +      function computeMemUsage(used, max) {
    +        var percent = 0;
    +        if ( max > 0)
    +          var percent = Math.round((100 * used / max), 2);
    +        var usage   = Math.round((used / 1073741824), 2) + "GB (" + 
Math.max(0, percent) + "%)";
    --- End diff --
    
    This logic repeats in several files, so can create js function in separate 
file and import it.


---

Reply via email to