github.com/hernad/nomad@v1.6.112/ui/app/models/job-summary.js (about) 1 /** 2 * Copyright (c) HashiCorp, Inc. 3 * SPDX-License-Identifier: MPL-2.0 4 */ 5 6 import { collect, sum } from '@ember/object/computed'; 7 import Model from '@ember-data/model'; 8 import { attr, belongsTo } from '@ember-data/model'; 9 import { fragmentArray } from 'ember-data-model-fragments/attributes'; 10 import sumAggregation from '../utils/properties/sum-aggregation'; 11 import classic from 'ember-classic-decorator'; 12 13 @classic 14 export default class JobSummary extends Model { 15 @belongsTo('job') job; 16 17 @fragmentArray('task-group-summary') taskGroupSummaries; 18 19 // Aggregate allocation counts across all summaries 20 @sumAggregation('taskGroupSummaries', 'queuedAllocs') queuedAllocs; 21 @sumAggregation('taskGroupSummaries', 'startingAllocs') startingAllocs; 22 @sumAggregation('taskGroupSummaries', 'runningAllocs') runningAllocs; 23 @sumAggregation('taskGroupSummaries', 'completeAllocs') completeAllocs; 24 @sumAggregation('taskGroupSummaries', 'failedAllocs') failedAllocs; 25 @sumAggregation('taskGroupSummaries', 'unknownAllocs') unknownAllocs; 26 @sumAggregation('taskGroupSummaries', 'lostAllocs') lostAllocs; 27 28 @collect( 29 'queuedAllocs', 30 'startingAllocs', 31 'runningAllocs', 32 'completeAllocs', 33 'failedAllocs', 34 'lostAllocs', 35 'unknownAllocs' 36 ) 37 allocsList; 38 39 @sum('allocsList') totalAllocs; 40 41 @attr('number') pendingChildren; 42 @attr('number') runningChildren; 43 @attr('number') deadChildren; 44 45 @collect('pendingChildren', 'runningChildren', 'deadChildren') childrenList; 46 47 @sum('childrenList') totalChildren; 48 }