Allow customizing the scaling threshold with an environment variable
This commit is contained in:
parent
466ed42568
commit
574dbbc517
9 changed files with 82 additions and 12 deletions
17
lib/util.test.js
generated
17
lib/util.test.js
generated
|
|
@ -30,6 +30,7 @@ const fs = __importStar(require("fs"));
|
|||
const os = __importStar(require("os"));
|
||||
const path_1 = __importDefault(require("path"));
|
||||
const ava_1 = __importDefault(require("ava"));
|
||||
const environment_1 = require("./environment");
|
||||
const logging_1 = require("./logging");
|
||||
const testing_utils_1 = require("./testing-utils");
|
||||
const util = __importStar(require("./util"));
|
||||
|
|
@ -82,10 +83,22 @@ const GET_MEMORY_FLAG_TESTS = [
|
|||
expectedMemoryValue: 62.5 * 1024,
|
||||
expectedMemoryValueWithScaling: 61132, // Math.floor(1024 * (64 - 1.5 - 0.05 * (64 - 8)))
|
||||
},
|
||||
{
|
||||
input: undefined,
|
||||
totalMemoryMb: 64 * 1024,
|
||||
platform: "linux",
|
||||
expectedMemoryValue: 63 * 1024,
|
||||
expectedMemoryValueWithScaling: 58777,
|
||||
reservedPercentageValue: "10",
|
||||
},
|
||||
];
|
||||
for (const { input, totalMemoryMb, platform, expectedMemoryValue, expectedMemoryValueWithScaling, } of GET_MEMORY_FLAG_TESTS) {
|
||||
for (const { input, totalMemoryMb, platform, expectedMemoryValue, expectedMemoryValueWithScaling, reservedPercentageValue, } of GET_MEMORY_FLAG_TESTS) {
|
||||
(0, ava_1.default)(`Memory flag value is ${expectedMemoryValue} without scaling and ${expectedMemoryValueWithScaling} with scaling ` +
|
||||
`for ${input ?? "no user input"} on ${platform} with ${totalMemoryMb} MB total system RAM`, async (t) => {
|
||||
`for ${input ?? "no user input"} on ${platform} with ${totalMemoryMb} MB total system RAM${reservedPercentageValue
|
||||
? ` and reserved percentage env var set to ${reservedPercentageValue}`
|
||||
: ""}`, async (t) => {
|
||||
process.env[environment_1.EnvVar.SCALING_RESERVED_RAM_PERCENTAGE] =
|
||||
reservedPercentageValue || undefined;
|
||||
for (const withScaling of [true, false]) {
|
||||
const flag = util.getMemoryFlagValueForPlatform(input, totalMemoryMb * 1024 * 1024, platform, withScaling);
|
||||
t.deepEqual(flag, withScaling ? expectedMemoryValueWithScaling : expectedMemoryValue);
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue