blob: 207908609d1773f8091729f236f5f8dfc41cd342 [file] [log] [blame]
/**
* 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');
var date = require('utils/date');
App.MainDashboardServiceHbaseView = App.MainDashboardServiceView.extend({
templateName: require('templates/main/dashboard/service/hbase'),
serviceName: 'hbase',
masterServerHeapSummary: function () {
var heapUsed = this.get('service').get('heapMemoryUsed');
var heapMax = this.get('service').get('heapMemoryMax');
var percent = heapMax > 0 ? 100 * heapUsed / heapMax : 0;
var heapString = heapUsed > 0 ? heapUsed.bytesToSize(1, "parseFloat") : 0;
var heapMaxString = heapMax > 0 ? heapMax.bytesToSize(1, "parseFloat") : 0;
return this.t('dashboard.services.hbase.masterServerHeap.summary').format(heapString, heapMaxString, percent.toFixed(1));
}.property('service.heapMemoryUsed', 'service.heapMemoryMax'),
version: function(){
return this.formatUnavailable(this.get('service.version'));
}.property('service.version'),
summaryHeader: function () {
var avgLoad = this.get('service.averageLoad');
if (avgLoad == null) {
avgLoad = this.t("services.service.summary.unknown");
}
return this.t("dashboard.services.hbase.summary").format(this.get('service.regionServers.length'), avgLoad);
}.property('service.regionServers', 'service.averageLoad'),
hbaseMasterWebUrl: function () {
return "http://" + this.get('service').get('master').get('publicHostName') + ":60010";
}.property('service.master'),
averageLoad: function () {
var avgLoad = this.get('service.averageLoad');
if (avgLoad == null) {
avgLoad = this.t('services.service.summary.notAvailable');
}
return this.t('dashboard.services.hbase.averageLoadPerServer').format(avgLoad);
}.property("service.averageLoad"),
masterStartedTime: function () {
var uptime = this.get('service').get('masterStartTime');
if (uptime && uptime > 0) {
var diff = (new Date()).getTime() - uptime;
if (diff < 0) {
diff = 0;
}
var formatted = date.timingFormat(diff);
return this.t('dashboard.services.uptime').format(formatted);
}
return this.t('services.service.summary.notRunning');
}.property("service.masterStartTime"),
masterActivatedTime: function () {
var uptime = this.get('service').get('masterActiveTime');
if (uptime && uptime > 0) {
var diff = (new Date()).getTime() - uptime;
if (diff < 0) {
diff = 0;
}
var formatted = date.timingFormat(diff);
return this.t('dashboard.services.uptime').format(formatted);
}
return this.t('services.service.summary.notRunning');
}.property("service.masterActiveTime"),
regionServerComponent: function () {
return App.HostComponent.find().findProperty('componentName', 'HBASE_REGIONSERVER');
}.property()
});