prometheus + load-testing

This commit is contained in:
PxlLoewe
2025-06-28 16:05:44 -07:00
parent 246ce0ce22
commit 453cf9a414
20 changed files with 8171 additions and 404 deletions

View File

@@ -1,13 +1,7 @@
import {
AdminMessage,
ConnectedAircraft,
getPublicUser,
MissionLog,
Prisma,
prisma,
} from "@repo/db";
import { AdminMessage, getPublicUser, MissionLog, Prisma, prisma } from "@repo/db";
import { Router } from "express";
import { io } from "../index";
import { aircraftPatches } from "modules/prometheus";
const router: Router = Router();
@@ -97,7 +91,7 @@ router.patch("/:id", async (req, res) => {
},
});
}
aircraftPatches.inc();
res.json(updatedConnectedAircraft);
// When change is only the estimated logout time, we don't need to emit an event
if (Object.keys(aircraftUpdate).length === 1 && aircraftUpdate.esimatedLogoutTime) return;

View File

@@ -0,0 +1,9 @@
import { Router } from "express";
import { promRegister } from "modules/prometheus";
export const metricsRouter: Router = Router();
metricsRouter.get("/", async (req, res) => {
res.setHeader("Content-Type", promRegister.contentType);
res.end(await promRegister.metrics());
});

View File

@@ -4,6 +4,7 @@ import missionRouter from "./mission";
import statusRouter from "./status";
import aircraftsRouter from "./aircraft";
import reportRouter from "./report";
import { metricsRouter } from "routes/metrics";
const router: Router = Router();
@@ -12,5 +13,6 @@ router.use("/mission", missionRouter);
router.use("/status", statusRouter);
router.use("/aircrafts", aircraftsRouter);
router.use("/report", reportRouter);
router.use("/metrics", metricsRouter);
export default router;