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.
---