diff --git a/packages/hydrooj/package.json b/packages/hydrooj/package.json index bec3b3800..680aaf504 100644 --- a/packages/hydrooj/package.json +++ b/packages/hydrooj/package.json @@ -1,6 +1,6 @@ { "name": "hydrooj", - "version": "2.36.6", + "version": "2.36.7", "bin": "bin/hydrooj.js", "main": "src/loader", "module": "src/loader", diff --git a/packages/hydrooj/src/handler/judge.ts b/packages/hydrooj/src/handler/judge.ts index 8be6c756e..0a18576ab 100644 --- a/packages/hydrooj/src/handler/judge.ts +++ b/packages/hydrooj/src/handler/judge.ts @@ -1,4 +1,5 @@ import { ObjectID } from 'mongodb'; +import tx2 from 'tx2'; import { JudgeResultBody, RecordDoc, TestCase } from '../interface'; import difficultyAlgorithm from '../lib/difficulty'; import { Logger } from '../logger'; @@ -19,6 +20,11 @@ import { import { sleep } from '../utils'; const logger = new Logger('judge'); +const judgeCount = tx2.meter({ + name: 'judge/min', + samples: 60, + timeframe: 120, +}); export async function postJudge(rdoc: RecordDoc) { if (typeof rdoc.input === 'string') return; @@ -79,6 +85,7 @@ export async function next(body: JudgeResultBody) { } export async function end(body: JudgeResultBody) { + judgeCount.mark(); if (body.rid) body.rid = new ObjectID(body.rid); let rdoc = await record.get(body.rid); if (!rdoc) return;