Code coverage report for app/views/main/dashboard/cluster_metrics/cpu.js

Statements: 100% (19 / 19)      Branches: 83.33% (10 / 12)      Functions: 100% (4 / 4)      Lines: 100% (19 / 19)      Ignored: none     

All files » app/views/main/dashboard/cluster_metrics/ » cpu.js
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78    1                                   1                     1                         3     3 2 10 10 10       10   2 2   8     2 2     3       2 1   1      
"use strict";
 
;require.register("views/main/dashboard/cluster_metrics/cpu", function (exports, require, module) {
  /**
   * Licensed to the Apache Software Foundation (ASF) under one or more
   * contributor license agreements. See the NOTICE file distributed with this
   * work for additional information regarding copyright ownership. The ASF
   * licenses this file to you under the Apache License, Version 2.0 (the
   * "License"); you may not use this file except in compliance with the License.
   * You may obtain a copy of the License at
   * 
   * http://www.apache.org/licenses/LICENSE-2.0
   * 
   * Unless required by applicable law or agreed to in writing, software
   * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
   * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
   * License for the specific language governing permissions and limitations under
   * the License.
   */
 
  var App = require('app');
 
  /**
   * @class
   * 
   * This is a view for showing cluster CPU metrics
   * 
   * @extends App.ChartLinearTimeView
   * @extends Ember.Object
   * @extends Ember.View
   */
  App.ChartClusterMetricsCPU = App.ChartLinearTimeView.extend({
    id: "cluster-metrics-cpu",
 
    ajaxIndex: 'dashboard.cluster_metrics.cpu',
 
    title: Em.I18n.t('dashboard.clusterMetrics.cpu'),
    displayUnit: '%',
    isTimePagingDisable: false,
    seriesTemplate: {
      path: 'metrics.cpu'
    },
 
    getData: function getData(jsonData) {
      var dataArray = [],
          idle = null,
          data = Em.get(jsonData, this.get('seriesTemplate.path'));
      if (data) {
        Object.keys(data).forEach(function (name) {
          var seriesData = data[name];
          Eif (seriesData) {
            var s = {
              name: name,
              data: seriesData
            };
            if (name.contains('Idle')) {
              //CPU idle metric should be the last in series array
              idle = s;
              return;
            }
            dataArray.push(s);
          }
        });
        Eif (idle) {
          dataArray.push(idle);
        }
      }
      return dataArray;
    },
 
    colorForSeries: function colorForSeries(series) {
      if (series.name && series.name.contains(Em.I18n.t('dashboard.clusterMetrics.cpu.displayNames.idle'))) {
        return '#CFECEC';
      }
      return null;
    }
  });
});