/* * Copyright 2014 the original author or authors. * * Licensed 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. */ 'use strict'; module.exports = { bindings: { metrics: '<metrics' }, controller: function ($filter) { 'ngInject'; var ctrl = this; ctrl.$onChanges = function () { ctrl.memory = { total: ctrl.metrics.mem, used: ctrl.metrics.mem - ctrl.metrics['mem.free'], unit: 'K' }; ctrl.memory.percentUsed = $filter('number')(ctrl.memory.used / ctrl.memory.total * 100, 2); ctrl.heap = { total: ctrl.metrics['heap.committed'], used: ctrl.metrics['heap.used'], init: ctrl.metrics['heap.init'], max: ctrl.metrics['heap.max'] || ctrl.metrics.heap, unit: ctrl.metrics['heap.max'] ? 'B' : 'K' }; ctrl.heap.percentUsed = $filter('number')(ctrl.heap.used / ctrl.heap.total * 100, 2); ctrl.nonheap = { total: ctrl.metrics['nonheap.committed'], used: ctrl.metrics['nonheap.used'], init: ctrl.metrics['nonheap.init'], max: ctrl.metrics.nonheap, unit: 'K' }; ctrl.nonheap.percentUsed = $filter('number')(ctrl.nonheap.used / ctrl.nonheap.total * 100, 2); }; ctrl.getBarClass = function (percentage) { if (percentage < 75) { return 'bar-success'; } else if (percentage >= 75 && percentage <= 95) { return 'bar-warning'; } else { return 'bar-danger'; } }; }, template: require('./memoryStats.tpl.html') };