github.com/emate/nomad@v0.8.2-wo-binpacking/ui/app/utils/classes/allocation-stats.js (about) 1 import EmberObject, { computed } from '@ember/object'; 2 import { alias, readOnly } from '@ember/object/computed'; 3 4 export default EmberObject.extend({ 5 allocation: null, 6 stats: null, 7 8 reservedMemory: alias('allocation.taskGroup.reservedMemory'), 9 reservedCPU: alias('allocation.taskGroup.reservedCPU'), 10 11 memoryUsed: readOnly('stats.ResourceUsage.MemoryStats.RSS'), 12 cpuUsed: computed('stats.ResourceUsage.CpuStats.TotalTicks', function() { 13 return Math.floor(this.get('stats.ResourceUsage.CpuStats.TotalTicks') || 0); 14 }), 15 16 percentMemory: computed('reservedMemory', 'memoryUsed', function() { 17 const used = this.get('memoryUsed') / 1024 / 1024; 18 const total = this.get('reservedMemory'); 19 if (!total || !used) { 20 return 0; 21 } 22 return used / total; 23 }), 24 25 percentCPU: computed('reservedCPU', 'cpuUsed', function() { 26 const used = this.get('cpuUsed'); 27 const total = this.get('reservedCPU'); 28 if (!total || !used) { 29 return 0; 30 } 31 return used / total; 32 }), 33 });