Skip to content

Commit 47c581c

Browse files
committed
recording time to complete job
closes monkeytypegame#3965
1 parent dba84c3 commit 47c581c

File tree

2 files changed

+23
-1
lines changed

2 files changed

+23
-1
lines changed

backend/src/utils/prometheus.ts

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -291,3 +291,24 @@ export function setQueueLength(
291291
): void {
292292
queueLength.set({ queueName, countType }, length);
293293
}
294+
295+
const timeToCompleteJobTotal = new Counter({
296+
name: "time_to_complete_job_total",
297+
help: "Time to complete a job total",
298+
labelNames: ["queueName", "jobName"],
299+
});
300+
301+
const timeToCompleteJobCount = new Counter({
302+
name: "time_to_complete_job_count",
303+
help: "Time to complete a job count",
304+
labelNames: ["queueName", "jobName"],
305+
});
306+
307+
export function recordTimeToCompleteJob(
308+
queueName: string,
309+
jobName: string,
310+
time: number
311+
): void {
312+
timeToCompleteJobTotal.inc({ queueName, jobName }, time);
313+
timeToCompleteJobCount.inc({ queueName, jobName });
314+
}

backend/src/workers/later-worker.ts

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@ import { DailyLeaderboard } from "../utils/daily-leaderboards";
99
import { getCachedConfiguration } from "../init/configuration";
1010
import { getOrdinalNumberString, mapRange } from "../utils/misc";
1111
import LaterQueue, { LaterTask } from "../queues/later-queue";
12+
import { recordTimeToCompleteJob } from "../utils/prometheus";
1213

1314
interface DailyLeaderboardMailContext {
1415
yesterdayTimestamp: number;
@@ -110,7 +111,7 @@ async function jobHandler(job: Job): Promise<void> {
110111
}
111112

112113
const elapsed = performance.now() - start;
113-
114+
recordTimeToCompleteJob(LaterQueue.queueName, taskName, elapsed);
114115
Logger.success(`Job: ${taskName} - completed in ${elapsed}ms`);
115116
}
116117

0 commit comments

Comments
 (0)