You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@ambari.apache.org by sr...@apache.org on 2013/08/16 00:16:52 UTC

git commit: AMBARI-2921. YARN Queue Memory graph not showing all queues. (srimanth)

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 <sg...@hortonworks.com>
Authored: Thu Aug 15 15:07:22 2013 -0700
Committer: Srimanth Gunturi <sg...@hortonworks.com>
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);