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); };