Repository: ambari
Updated Branches:
  refs/heads/branch-2.2 b33fba7b5 -> 9ed989027


AMBARI-15257. Query Editor Hosts Fix for Grafana. (Prajwal Rao via yusaku)


Project: http://git-wip-us.apache.org/repos/asf/ambari/repo
Commit: http://git-wip-us.apache.org/repos/asf/ambari/commit/9ed98902
Tree: http://git-wip-us.apache.org/repos/asf/ambari/tree/9ed98902
Diff: http://git-wip-us.apache.org/repos/asf/ambari/diff/9ed98902

Branch: refs/heads/branch-2.2
Commit: 9ed9890273fe6f79dd8cd1192b52bfda23f8526f
Parents: b33fba7
Author: Yusaku Sako <yus...@hortonworks.com>
Authored: Tue Mar 1 16:07:06 2016 -0800
Committer: Yusaku Sako <yus...@hortonworks.com>
Committed: Tue Mar 1 16:08:08 2016 -0800

----------------------------------------------------------------------
 .../ambari-metrics/datasource.js                 | 19 ++++++++++++++++---
 .../ambari-metrics/queryCtrl.js                  |  2 +-
 2 files changed, 17 insertions(+), 4 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/ambari/blob/9ed98902/ambari-metrics/ambari-metrics-grafana/ambari-metrics/datasource.js
----------------------------------------------------------------------
diff --git a/ambari-metrics/ambari-metrics-grafana/ambari-metrics/datasource.js 
b/ambari-metrics/ambari-metrics-grafana/ambari-metrics/datasource.js
index ca7ea65..49fef8d 100644
--- a/ambari-metrics/ambari-metrics-grafana/ambari-metrics/datasource.js
+++ b/ambari-metrics/ambari-metrics-grafana/ambari-metrics/datasource.js
@@ -295,15 +295,28 @@ define([
          *
          * Query Hosts on the cluster.
          */
-        AmbariMetricsDatasource.prototype.suggestHosts = function (query) {
+        AmbariMetricsDatasource.prototype.suggestHosts = function (query, app) 
{
           console.log(query);
           return this.doAmbariRequest({method: 'GET', url: 
'/ws/v1/timeline/metrics/hosts'})
             .then(function (results) {
+              var compToHostMap = {};
               //Remove fakehostname from the list of hosts on the cluster.
               var fake = "fakehostname"; delete results.data[fake];
-              return _.map(Object.keys(results.data), function (hostName) {
-                return {text: hostName};
+              //Query hosts based on component name
+              _.forEach(results.data, function (comp, hostName) {
+                comp.forEach(function (component) {
+                  if (!compToHostMap[component]){
+                    compToHostMap[component] = [];
+                  }
+                  compToHostMap[component].push(hostName);
+                });
+              });
+              var compHosts = compToHostMap[app];
+              compHosts = _.map(compHosts, function (h) {
+                return {text: h};
               });
+              compHosts = _.sortBy(compHosts, function (i) { return 
i.text.toLowerCase(); });
+              return $q.when(compHosts);
             });
         };
 

http://git-wip-us.apache.org/repos/asf/ambari/blob/9ed98902/ambari-metrics/ambari-metrics-grafana/ambari-metrics/queryCtrl.js
----------------------------------------------------------------------
diff --git a/ambari-metrics/ambari-metrics-grafana/ambari-metrics/queryCtrl.js 
b/ambari-metrics/ambari-metrics-grafana/ambari-metrics/queryCtrl.js
index d6e93a8..494ae16 100644
--- a/ambari-metrics/ambari-metrics-grafana/ambari-metrics/queryCtrl.js
+++ b/ambari-metrics/ambari-metrics-grafana/ambari-metrics/queryCtrl.js
@@ -65,7 +65,7 @@ define([
         };
 
         $scope.suggestHosts = function(query, callback) {
-          $scope.datasource.suggestHosts(query)
+          $scope.datasource.suggestHosts(query, $scope.target.app)
             .then($scope.getTextValues)
             .then(callback);
         };

Reply via email to