diff --git a/backend/src/api/controllers/result.ts b/backend/src/api/controllers/result.ts index 524093437..480b1b8f7 100644 --- a/backend/src/api/controllers/result.ts +++ b/backend/src/api/controllers/result.ts @@ -21,7 +21,10 @@ import { validateKeys, } from "../../anticheat/index"; import MonkeyStatusCodes from "../../constants/monkey-status-codes"; -import { incrementResult } from "../../utils/prometheus"; +import { + incrementResult, + incrementDailyLeaderboard, +} from "../../utils/prometheus"; import * as George from "../../tasks/george"; import { getDailyLeaderboard } from "../../utils/daily-leaderboards"; @@ -321,6 +324,7 @@ export async function addResult( (user.timeTyping ?? 0) > 7200; if (dailyLeaderboard && validResultCriteria) { + incrementDailyLeaderboard(result.mode, result.mode2, result.language); dailyLeaderboardRank = await dailyLeaderboard.addResult( { name: user.name, diff --git a/backend/src/utils/prometheus.ts b/backend/src/utils/prometheus.ts index b025e139f..e3d474026 100644 --- a/backend/src/utils/prometheus.ts +++ b/backend/src/utils/prometheus.ts @@ -22,6 +22,12 @@ const result = new Counter({ ], }); +const dailyLb = new Counter({ + name: "daily_leaderboard_update_total", + help: "Counts daily leaderboard updates", + labelNames: ["mode", "mode2", "language"], +}); + const resultLanguage = new Counter({ name: "result_language_total", help: "Counts result langauge", @@ -145,6 +151,14 @@ export function incrementResult( resultDuration.observe(res.testDuration); } +export function incrementDailyLeaderboard( + mode: string, + mode2: string, + language: string +): void { + dailyLb.inc({ mode, mode2, language }); +} + const clientVersionsCounter = new Counter({ name: "api_client_versions", help: "Records frequency of client versions",