Code coverage report for app/views/main/host/metrics/cpu.js

Statements: 100% (19 / 19)      Branches: 100% (8 / 8)      Functions: 100% (4 / 4)      Lines: 100% (19 / 19)      Ignored: none     

All files » app/views/main/host/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 79 80 81 82 83 84 85 86 87 88 89 90 91 92    1                                   1                     1                             7               7         3       3 2 7   7 6       6 2   4       2   3       2 1   1      
"use strict";
 
;require.register("views/main/host/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 Host CPU metrics
   * 
   * @extends App.ChartLinearTimeView
   * @extends Ember.Object
   * @extends Ember.View
   */
  App.ChartHostMetricsCPU = App.ChartLinearTimeView.extend({
    id: "host-metrics-cpu",
    title: Em.I18n.t('hosts.host.metrics.cpu'),
    displayUnit: '%',
 
    ajaxIndex: 'host.metrics.cpu',
 
    loadGroup: {
      name: 'host.metrics.aggregated',
      fields: ['metrics/cpu/cpu_user', 'metrics/cpu/cpu_wio', 'metrics/cpu/cpu_nice', 'metrics/cpu/cpu_aidle', 'metrics/cpu/cpu_system', 'metrics/cpu/cpu_idle']
    },
 
    seriesTemplate: {
      path: 'metrics.cpu',
      displayName: function displayName(name) {
        var displayNameMap = {
          cpu_wio: Em.I18n.t('hosts.host.metrics.cpu.displayNames.cpu_wio'),
          cpu_idle: Em.I18n.t('hosts.host.metrics.cpu.displayNames.cpu_idle'),
          cpu_nice: Em.I18n.t('hosts.host.metrics.cpu.displayNames.cpu_nice'),
          cpu_aidle: Em.I18n.t('hosts.host.metrics.cpu.displayNames.cpu_aidle'),
          cpu_system: Em.I18n.t('hosts.host.metrics.cpu.displayNames.cpu_system'),
          cpu_user: Em.I18n.t('hosts.host.metrics.cpu.displayNames.cpu_user')
        };
        return displayNameMap[name];
      }
    },
 
    getData: function getData(jsonData) {
      var dataArray = [],
          cpu_idle,
          template = this.get('seriesTemplate'),
          data = Em.get(jsonData, template.path);
      if (data) {
        for (var name in data) {
          var displayName = template.displayName(name),
              seriesData = data[name];
          if (seriesData) {
            var s = {
              name: displayName,
              data: seriesData
            };
            if (Em.I18n.t('hosts.host.metrics.cpu.displayNames.cpu_idle') == displayName) {
              cpu_idle = s;
            } else {
              dataArray.push(s);
            }
          }
        }
        dataArray.push(cpu_idle);
      }
      return dataArray;
    },
 
    colorForSeries: function colorForSeries(series) {
      if (Em.I18n.t('hosts.host.metrics.cpu.displayNames.cpu_idle') == series.name) {
        return '#CFECEC';
      }
      return null;
    }
  });
});