Skip to content

Commit c3b36cd

Browse files
committed
chore: parameterize sdam_viz write workloads
1 parent eeea8ac commit c3b36cd

File tree

1 file changed

+9
-3
lines changed

1 file changed

+9
-3
lines changed

test/tools/sdam_viz

Lines changed: 9 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,8 @@ const argv = require('yargs')
1111
.help('h')
1212
.describe('workload', 'Simulate a read workload')
1313
.describe('writeWorkload', 'Simulate a write workload')
14+
.describe('writeWorkloadInterval', 'Time interval between write workload write attempts')
15+
.describe('writeWorkloadSampleSize', 'Sample size between status display for write workload')
1416
.describe('legacy', 'Use the legacy topology types')
1517
.alias('l', 'legacy')
1618
.alias('w', 'workload')
@@ -76,10 +78,13 @@ async function scheduleWorkload(client) {
7678
let writeWorkloadTimer;
7779
let writeWorkloadCounter = 0;
7880
let averageWriteMS = 0;
81+
let completedWriteWorkloads = 0;
82+
const writeWorkloadSampleSize = argv.writeWorkloadSampleSize || 100;
83+
const writeWorkloadInterval = argv.writeWorkloadInterval || 100;
7984
async function scheduleWriteWorkload(client) {
8085
if (!workloadInterrupt) {
8186
// immediately reschedule work
82-
writeWorkloadTimer = setTimeout(() => scheduleWriteWorkload(client), 200);
87+
writeWorkloadTimer = setTimeout(() => scheduleWriteWorkload(client), writeWorkloadInterval);
8388
}
8489

8590
const currentWriteWorkload = writeWorkloadCounter++;
@@ -89,8 +94,9 @@ async function scheduleWriteWorkload(client) {
8994
const result = await client.db('test').collection('test').insertOne({ a: 42 });
9095
averageWriteMS = 0.2 * calculateDurationInMs(start) + 0.8 * averageWriteMS;
9196

92-
if (currentWriteWorkload % 100) {
93-
print(`${chalk.yellow(`workload#${currentWriteWorkload}`)} completed 100 writes with average time: ${averageWriteMS}`);
97+
completedWriteWorkloads++;
98+
if (completedWriteWorkloads % writeWorkloadSampleSize === 0) {
99+
print(`${chalk.yellow(`workload#${currentWriteWorkload}`)} completed ${completedWriteWorkloads} writes with average time: ${averageWriteMS}`);
94100
}
95101

96102
} catch (e) {

0 commit comments

Comments
 (0)