瀏覽代碼

HUE-8673 [metrics] Get metrics for the proper cluster only

Romain Rigaux 7 年之前
父節點
當前提交
39dc3037af

+ 2 - 2
apps/jobbrowser/src/jobbrowser/templates/job_browser.mako

@@ -1250,7 +1250,7 @@ ${ commonheader("Job Browser", "jobbrowser", user, request) | n,unicode }
 
 
 <script type="text/html" id="dataware2-clusters-page${ SUFFIX }">
 <script type="text/html" id="dataware2-clusters-page${ SUFFIX }">
   <div class="row-fluid">
   <div class="row-fluid">
-    <div data-bind="css:{'span2': !$root.isMini(), 'span12': $root.isMini() }">
+    <div data-bind="css: {'span2': !$root.isMini(), 'span12': $root.isMini() }">
       <div class="sidebar-nav">
       <div class="sidebar-nav">
         <ul class="nav nav-list">
         <ul class="nav nav-list">
           <li class="nav-header">${ _('Status') }</li>
           <li class="nav-header">${ _('Status') }</li>
@@ -1324,7 +1324,7 @@ ${ commonheader("Job Browser", "jobbrowser", user, request) | n,unicode }
           <div class="tab-pane active" id="servicesLoad">
           <div class="tab-pane active" id="servicesLoad">
             <div class="wxm-poc" style="clear: both;">
             <div class="wxm-poc" style="clear: both;">
               <div style="float:left; margin-right: 10px; margin-bottom: 10px;">
               <div style="float:left; margin-right: 10px; margin-bottom: 10px;">
-                <!-- ko component: { name: 'performance-graph', params: { type: 'cpu' } } --><!-- /ko -->
+                <!-- ko component: { name: 'performance-graph', params: { clusterName: name(), type: 'cpu' } } --><!-- /ko -->
               </div>
               </div>
             </div>
             </div>
           </div>
           </div>

+ 13 - 11
desktop/core/src/desktop/static/desktop/js/apiHelper.js

@@ -941,7 +941,7 @@ var ApiHelper = (function () {
     var queryMetric = function (metricName) {
     var queryMetric = function (metricName) {
       var now = Date.now();
       var now = Date.now();
       return self.simplePost('/metadata/api/prometheus/query', {
       return self.simplePost('/metadata/api/prometheus/query', {
-        query: '"' + metricName + '"',
+        query: ko.mapping.toJSON(metricName),
         start: Math.floor((now - options.pastMs) / 1000),
         start: Math.floor((now - options.pastMs) / 1000),
         end:  Math.floor(now / 1000),
         end:  Math.floor(now / 1000),
         step: options.stepMs / 1000
         step: options.stepMs / 1000
@@ -953,20 +953,22 @@ var ApiHelper = (function () {
       queryMetric('round((go_memstats_alloc_bytes / go_memstats_sys_bytes) * 100)'), // CPU percentage
       queryMetric('round((go_memstats_alloc_bytes / go_memstats_sys_bytes) * 100)'), // CPU percentage
       queryMetric('round((go_memstats_alloc_bytes / go_memstats_sys_bytes) * 100)'), // Memory percentage
       queryMetric('round((go_memstats_alloc_bytes / go_memstats_sys_bytes) * 100)'), // Memory percentage
       queryMetric('round((go_memstats_alloc_bytes / go_memstats_sys_bytes) * 100)'), // IO percentage
       queryMetric('round((go_memstats_alloc_bytes / go_memstats_sys_bytes) * 100)'), // IO percentage
-      queryMetric('impala_queries'), // Sum of queries
-      queryMetric('round(process_open_fds * 0)'), // Queued queries
+      queryMetric('impala_queries_count{datawarehouse="' + options.clusterName + '"}'), // Sum of all queries in flight (currently total query executed for testing purpose)
+      queryMetric('impala_queries{datawarehouse="' + options.clusterName + '"}'), // Queued queries
     ).done(function () {
     ).done(function () {
       var result = [];
       var result = [];
       for (var j = 0; j < arguments.length; j++) {
       for (var j = 0; j < arguments.length; j++) {
         var response = arguments[j];
         var response = arguments[j];
-        var values = response.data.result[0].values;
-        for (var i = 0; i < values.length; i++) {
-          if (!result[i]) {
-            result[i] = [];
-            result[i].push(values[i][0] * 1000); // Adjust back to milliseconds
-            result[i].push(parseFloat(values[i][1]))
-          } else {
-            result[i].push(parseFloat(values[i][1])); // Assuming timestamp is the same for each set of values;
+        if (response.data.result[0]) {
+          var values = response.data.result[0].values;
+          for (var i = 0; i < values.length; i++) {
+            if (!result[i]) {
+              result[i] = [];
+              result[i].push(values[i][0] * 1000); // Adjust back to milliseconds
+              result[i].push(parseFloat(values[i][1]))
+            } else {
+              result[i].push(parseFloat(values[i][1])); // Assuming timestamp is the same for each set of values;
+            }
           }
           }
         }
         }
       }
       }

+ 3 - 1
desktop/core/src/desktop/templates/ko_components/ko_performance_graph.mako

@@ -29,7 +29,7 @@
 
 
   <script type="text/html" id="performance-graph-d3-template">
   <script type="text/html" id="performance-graph-d3-template">
     <div style="position:relative;"
     <div style="position:relative;"
-         data-bind="attr: { 'id': id }, style: { height: graphHeight + 'px', width: graphWidth + 'px' }"></div>
+        data-bind="attr: { 'id': id }, style: { height: graphHeight + 'px', width: graphWidth + 'px' }"></div>
   </script>
   </script>
 
 
   <script type="text/html" id="performance-graph-template">
   <script type="text/html" id="performance-graph-template">
@@ -76,6 +76,7 @@
         }];
         }];
 
 
         self.selectedGranularity = ko.observable(self.availableGranularities[ApiHelper.getInstance().getFromTotalStorage('warehouses', 'performanceGraphGranularity', 0)]);
         self.selectedGranularity = ko.observable(self.availableGranularities[ApiHelper.getInstance().getFromTotalStorage('warehouses', 'performanceGraphGranularity', 0)]);
+        self.clusterName = ko.observable(params.clusterName);
 
 
         // Load the initial data
         // Load the initial data
         var initialLoadPromise = self.loadData();
         var initialLoadPromise = self.loadData();
@@ -652,6 +653,7 @@
       PerformanceGraph.prototype.loadData = function () {
       PerformanceGraph.prototype.loadData = function () {
         var self = this;
         var self = this;
         return ApiHelper.getInstance().fetchResourceStats({
         return ApiHelper.getInstance().fetchResourceStats({
+          clusterName: self.clusterName(),
           pastMs: self.selectedGranularity().totalTime,
           pastMs: self.selectedGranularity().totalTime,
           stepMs: self.selectedGranularity().step
           stepMs: self.selectedGranularity().step
         }).done(function (data) {
         }).done(function (data) {