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