github.com/hernad/nomad@v1.6.112/ui/mirage/factories/recommendation.js (about)

     1  /**
     2   * Copyright (c) HashiCorp, Inc.
     3   * SPDX-License-Identifier: MPL-2.0
     4   */
     5  
     6  import { Factory } from 'ember-cli-mirage';
     7  
     8  import faker from 'nomad-ui/mirage/faker';
     9  
    10  const REF_TIME = new Date();
    11  
    12  export default Factory.extend({
    13    submitTime: () => faker.date.past(2 / 365, REF_TIME) * 1000000,
    14  
    15    afterCreate(recommendation) {
    16      const base =
    17        recommendation.resource === 'CPU'
    18          ? recommendation.task.resources.CPU
    19          : recommendation.task.resources.MemoryMB;
    20      const recommendDecrease = faker.random.boolean();
    21      const directionMultiplier = recommendDecrease ? -1 : 1;
    22  
    23      const value = base + Math.floor(base * 0.5) * directionMultiplier;
    24  
    25      const min = faker.random.number({ min: 5, max: value * 0.4 });
    26      const max = faker.random.number({ min: value * 0.6, max: value });
    27      const p99 = faker.random.number({ min: min + (max - min) * 0.8, max });
    28      const mean = faker.random.number({ min, max: p99 });
    29      const median = faker.random.number({ min, max: p99 });
    30  
    31      recommendation.update({
    32        stats: { min, max, p99, mean, median },
    33        value,
    34      });
    35    },
    36  });