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  });