123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123 |
- /**
- * 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');
- App.MainChartsHeatmapController = Em.Controller.extend({
- name: 'mainChartsHeatmapController',
- cluster: function () {
- return App.Cluster.find().objectAt(0);
- }.property(''),
- allMetrics: function () {
- var metrics = [
- Em.Object.create({
- label: Em.I18n.t('charts.heatmap.category.host'),
- category: 'host',
- items: [
- App.MainChartHeatmapDiskSpaceUsedMetric.create(),
- App.MainChartHeatmapMemoryUsedMetric.create(),
- App.MainChartHeatmapCpuWaitIOMetric.create()
- /*, App.MainChartHeatmapProcessRunMetric.create()*/
- ]
- }),
- Em.Object.create({
- label: Em.I18n.t('charts.heatmap.category.hdfs'),
- category: 'hdfs',
- items: [
- App.MainChartHeatmapDFSBytesReadMetric.create(),
- App.MainChartHeatmapDFSBytesWrittenMetric.create(),
- App.MainChartHeatmapDFSGCTimeMillisMetric.create(),
- App.MainChartHeatmapDFSMemHeapUsedMetric.create()
- ]
- })
- ];
- if (App.MapReduceService.find().get('length')) {
- metrics.push(
- Em.Object.create({
- label: Em.I18n.t('charts.heatmap.category.mapreduce'),
- category: 'mapreduce',
- items: [
- App.MainChartHeatmapMapreduceMapsRunningMetric.create(),
- App.MainChartHeatmapMapreduceReducesRunningMetric.create(),
- App.MainChartHeatmapMapreduceGCTimeMillisMetric.create(),
- App.MainChartHeatmapMapreduceMemHeapUsedMetric.create()
- ]
- })
- );
- }
- if (App.HBaseService.find().get('length')) {
- metrics.push(
- Em.Object.create({
- label: Em.I18n.t('charts.heatmap.category.hbase'),
- category: 'hbase',
- items: [
- App.MainChartHeatmapHbaseReadReqCount.create(),
- App.MainChartHeatmapHbaseWriteReqCount.create(),
- App.MainChartHeatmapHbaseCompactionQueueSize.create(),
- App.MainChartHeatmapHbaseRegions.create(),
- App.MainChartHeatmapHbaseMemStoreSize.create()
- ]
- })
- );
- }
- return metrics;
- }.property(),
- selectedMetric: null,
- /**
- * route on host detail page
- * @param event
- */
- routeHostDetail: function (event) {
- App.router.transitionTo('main.hosts.hostDetails.summary', event.context)
- },
- showHeatMapMetric: function (event) {
- var metricItem = event.context;
- if (metricItem) {
- this.set('selectedMetric', metricItem);
- }
- },
- hostToSlotMap: function () {
- return this.get('selectedMetric.hostToSlotMap');
- }.property('selectedMetric.hostToSlotMap'),
- loadMetrics: function () {
- var selectedMetric = this.get('selectedMetric');
- if (selectedMetric) {
- selectedMetric.refreshHostSlots();
- }
- }.observes('selectedMetric'),
- /**
- * return class name for to be used for containing each rack.
- *
- * @this App.MainChartsHeatmapController
- */
- rackClass: function () {
- var rackCount = this.get('cluster.racks.length');
- if (rackCount < 2) {
- return "span12";
- } else if (rackCount == 2) {
- return "span6";
- } else {
- return "span4";
- }
- }.property('cluster')
- });
|