recording time to complete job

closes #3965
This commit is contained in:
Miodec 2023-02-09 15:27:55 +01:00
parent dba84c3253
commit 47c581c5f8
2 changed files with 23 additions and 1 deletions

View file

@ -291,3 +291,24 @@ export function setQueueLength(
): void {
queueLength.set({ queueName, countType }, length);
}
const timeToCompleteJobTotal = new Counter({
name: "time_to_complete_job_total",
help: "Time to complete a job total",
labelNames: ["queueName", "jobName"],
});
const timeToCompleteJobCount = new Counter({
name: "time_to_complete_job_count",
help: "Time to complete a job count",
labelNames: ["queueName", "jobName"],
});
export function recordTimeToCompleteJob(
queueName: string,
jobName: string,
time: number
): void {
timeToCompleteJobTotal.inc({ queueName, jobName }, time);
timeToCompleteJobCount.inc({ queueName, jobName });
}

View file

@ -9,6 +9,7 @@ import { DailyLeaderboard } from "../utils/daily-leaderboards";
import { getCachedConfiguration } from "../init/configuration";
import { getOrdinalNumberString, mapRange } from "../utils/misc";
import LaterQueue, { LaterTask } from "../queues/later-queue";
import { recordTimeToCompleteJob } from "../utils/prometheus";
interface DailyLeaderboardMailContext {
yesterdayTimestamp: number;
@ -110,7 +111,7 @@ async function jobHandler(job: Job): Promise<void> {
}
const elapsed = performance.now() - start;
recordTimeToCompleteJob(LaterQueue.queueName, taskName, elapsed);
Logger.success(`Job: ${taskName} - completed in ${elapsed}ms`);
}