Updated Branches: refs/heads/trunk 54c378872 -> d44c1c2ba
AMBARI-2921. YARN Queue Memory graph not showing all queues. (srimanth) Project: http://git-wip-us.apache.org/repos/asf/incubator-ambari/repo Commit: http://git-wip-us.apache.org/repos/asf/incubator-ambari/commit/d44c1c2b Tree: http://git-wip-us.apache.org/repos/asf/incubator-ambari/tree/d44c1c2b Diff: http://git-wip-us.apache.org/repos/asf/incubator-ambari/diff/d44c1c2b Branch: refs/heads/trunk Commit: d44c1c2ba90d8d8366a08d59e798d101c96ed9c7 Parents: 54c3788 Author: Srimanth Gunturi <[email protected]> Authored: Thu Aug 15 15:07:22 2013 -0700 Committer: Srimanth Gunturi <[email protected]> Committed: Thu Aug 15 15:07:29 2013 -0700 ---------------------------------------------------------------------- ambari-web/app/messages.js | 2 +- ambari-web/app/models/service/yarn.js | 15 +++++++++++---- .../app/views/main/service/info/metrics/yarn/qmr.js | 12 ++++++------ 3 files changed, 18 insertions(+), 11 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/incubator-ambari/blob/d44c1c2b/ambari-web/app/messages.js ---------------------------------------------------------------------- diff --git a/ambari-web/app/messages.js b/ambari-web/app/messages.js index 0990035..2833f22 100644 --- a/ambari-web/app/messages.js +++ b/ambari-web/app/messages.js @@ -964,7 +964,7 @@ Em.I18n.translations = { 'services.service.info.metrics.yarn.queueMemoryResource':'Queue Memory', 'services.service.info.metrics.yarn.queueMemoryResource.displayNames.allocated':'Allocated ({0})', 'services.service.info.metrics.yarn.queueMemoryResource.displayNames.available':'Available ({0})', - 'services.service.info.metrics.yarn.queueMemoryResource.displayName':'Queue Memory ({0})', + 'services.service.info.metrics.yarn.queueMemoryResource.displayName':'Queue: {0}', 'services.service.info.menu.summary':'Summary', 'services.service.info.menu.configs':'Configs', http://git-wip-us.apache.org/repos/asf/incubator-ambari/blob/d44c1c2b/ambari-web/app/models/service/yarn.js ---------------------------------------------------------------------- diff --git a/ambari-web/app/models/service/yarn.js b/ambari-web/app/models/service/yarn.js index 1eab2bb..4ca120f 100644 --- a/ambari-web/app/models/service/yarn.js +++ b/ambari-web/app/models/service/yarn.js @@ -53,13 +53,16 @@ App.YARNService = App.Service.extend({ var queue = JSON.parse(this.get('queue')); return objectUtils.recursiveKeysCount(queue); }.property('queue'), + allQueueNames: [], + childQueueNames: [], /** * Provides a flat array of queue names. * Example: root, root/default */ queueNames: function () { var queueString = this.get('queue'); - var queueNames = []; + var allQueueNames = []; + var childQueueNames = []; if (queueString != null) { var queues = JSON.parse(queueString); var addQueues = function (queuesObj, path){ @@ -70,14 +73,18 @@ App.YARNService = App.Service.extend({ names.push(qFN); var subNames = addQueues(queuesObj[subQueue], qFN); names = names.concat(subNames); + if (!subNames || subNames.length < 1) { + childQueueNames.push(qFN); + } } } return names; } - queueNames = addQueues(queues, ''); + allQueueNames = addQueues(queues, ''); } - return queueNames; - }.property('queue'), + this.set('allQueueNames', allQueueNames); + this.set('childQueueNames', childQueueNames); + }.observes('queue'), }); App.YARNService.FIXTURES = []; http://git-wip-us.apache.org/repos/asf/incubator-ambari/blob/d44c1c2b/ambari-web/app/views/main/service/info/metrics/yarn/qmr.js ---------------------------------------------------------------------- diff --git a/ambari-web/app/views/main/service/info/metrics/yarn/qmr.js b/ambari-web/app/views/main/service/info/metrics/yarn/qmr.js index d82635a..13e0cf2 100644 --- a/ambari-web/app/views/main/service/info/metrics/yarn/qmr.js +++ b/ambari-web/app/views/main/service/info/metrics/yarn/qmr.js @@ -39,7 +39,7 @@ App.ChartServiceMetricsYARN_QMR = App.ChartLinearTimeView.extend({ var svc = App.YARNService.find().objectAt(0); var queueNames = []; if (svc != null) { - queueNames = svc.get('queueNames'); + queueNames = svc.get('childQueueNames'); } data.queueNames = queueNames; return data; @@ -52,11 +52,11 @@ App.ChartServiceMetricsYARN_QMR = App.ChartLinearTimeView.extend({ var svc = App.YARNService.find().objectAt(0); var queueNames = []; if (svc != null) { - queueNames = svc.get('queueNames'); + queueNames = svc.get('childQueueNames'); } if (jsonData && jsonData.metrics && jsonData.metrics.yarn.Queue) { queueNames.forEach(function (qName) { - var qPath = qName.replace('/', '.'); + var qPath = qName.replace(/\//g, '.') var displayName; var allocatedData = objUtils.getProperty(jsonData.metrics.yarn.Queue, qPath + '.AllocatedMB'); var availableData = objUtils.getProperty(jsonData.metrics.yarn.Queue, qPath + '.AvailableMB'); @@ -65,10 +65,10 @@ App.ChartServiceMetricsYARN_QMR = App.ChartLinearTimeView.extend({ if (allocatedData != null && availableData != null) { if (typeof allocatedData == "number" && typeof availableData == "number") { seriesData = (allocatedData * 100) / availableData; - } else if (allocatedData.length == availableData.length) { + } else if (allocatedData.length > 0 && availableData.length > 0) { seriesData = []; - for ( var c = 0; c < allocated.length; c++) { - seriesData.push([ (allocatedData[c][0] * 100) / availableData[c][0] ], allocatedData[c][1]); + for ( var c = 0; c < Math.min(availableData.length, allocatedData.length); c++) { + seriesData.push([ (allocatedData[c][0] * 100) / availableData[c][0], allocatedData[c][1] ]); } } else { console.log("Skipping data series for Queue " + qName);
