From c5e6607e5f70e2d3f7a4ef783fde494eeebfa15b Mon Sep 17 00:00:00 2001 From: Ruben Fiszel Date: Tue, 18 Oct 2022 20:42:16 +0200 Subject: [PATCH] little benchmark console feedback --- benchmarks/main.ts | 18 ++++++++++++++++++ benchmarks/worker.ts | 8 ++++++++ 2 files changed, 26 insertions(+) diff --git a/benchmarks/main.ts b/benchmarks/main.ts index 7357adf278..ccc8ce836f 100644 --- a/benchmarks/main.ts +++ b/benchmarks/main.ts @@ -212,12 +212,30 @@ await new Command() }); } + + let start: number | undefined = undefined; + + let jobSent = Array(num_workers).fill(0); + const enc = (s: string) => new TextEncoder().encode(s); + + const i = setInterval(async () => { + const elapsed = start ? Math.ceil((Date.now() - start) / 1000) : 0; + await Deno.stdout.write(enc(`elapsed: ${elapsed}/${seconds} | jobs sent: ${JSON.stringify(jobSent)}\r`)) + }, 100); + workers.forEach((worker, i) => { worker.postMessage({ ...shared_config, i }); + worker.addEventListener("message", (evt: MessageEvent) => { + jobSent[i] = evt.data + }) }); + start = Date.now(); await sleep(seconds); + clearInterval(i); + await Deno.stdout.write(enc(` \rduration: ${seconds} | jobs sent: ${JSON.stringify(jobSent)}\n`)); + let zombie_jobs = 0; workers.forEach((worker) => { const l = (evt: MessageEvent) => { diff --git a/benchmarks/worker.ts b/benchmarks/worker.ts index c69aa91436..68e0ce3446 100644 --- a/benchmarks/worker.ts +++ b/benchmarks/worker.ts @@ -48,6 +48,12 @@ self.onmessage = (evt) => { complete_timeout = evt.data; }; + +const updateStatusInterval = setInterval(() => { + self.postMessage(total_spawned); +}, 100) + + while (cont) { if ((await jobApi.listQueue(config.workspace_id)).length > 500) { console.log("queue very long. waiting..."); @@ -100,6 +106,8 @@ while (cont) { total_spawned++; } +clearInterval(updateStatusInterval); + const end_time = Date.now() + complete_timeout; while (outstanding.length > 0 && Date.now() < end_time) { const uuid = outstanding.shift()!;