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  }