summary refs log tree commit diff
path: root/src
diff options
context:
space:
mode:
authorRory& <root@rory.gay>2026-05-20 14:06:19 +0200
committerRory& <root@rory.gay>2026-05-28 17:27:08 +0200
commite2da753c2dcfcb1b6243aafa0086a5c086ba654c (patch)
treeec8e03c3c400bbb438b65eeb6bc602d1321d5109 /src
parent*/Server.ts: Add monitoring init hook (diff)
downloadserver-ts-e2da753c2dcfcb1b6243aafa0086a5c086ba654c.tar.xz
*/Server.ts: Handle metrics requests
Diffstat (limited to 'src')
-rw-r--r--src/api/Server.ts1
-rw-r--r--src/cdn/Server.ts1
-rw-r--r--src/util/monitoring/Monitoring.ts6
3 files changed, 8 insertions, 0 deletions
diff --git a/src/api/Server.ts b/src/api/Server.ts

index a1edb986..f9f1c708 100644 --- a/src/api/Server.ts +++ b/src/api/Server.ts
@@ -53,6 +53,7 @@ export class SpacebarServer extends Server { async start() { await Monitoring.init(); + Monitoring.attach(this.app); await initDatabase(); await Config.init(); await initEvent(); diff --git a/src/cdn/Server.ts b/src/cdn/Server.ts
index 9327de83..8964161d 100644 --- a/src/cdn/Server.ts +++ b/src/cdn/Server.ts
@@ -37,6 +37,7 @@ export class CDNServer extends Server { async start() { await Monitoring.init(); + Monitoring.attach(this.app); await initDatabase(); await Config.init(); diff --git a/src/util/monitoring/Monitoring.ts b/src/util/monitoring/Monitoring.ts
index 3d6d4ed4..9b668fcd 100644 --- a/src/util/monitoring/Monitoring.ts +++ b/src/util/monitoring/Monitoring.ts
@@ -18,6 +18,7 @@ import * as client from "prom-client"; import { Router } from "express"; +import http, { IncomingMessage, ServerResponse } from "node:http"; export class Monitoring { static isInitialised = false; @@ -35,4 +36,9 @@ export class Monitoring { res.send(metrics); }); } + + static async handleRawRequest(req: IncomingMessage, res: ServerResponse) { + const metrics = await client.register.metrics(); + res.setHeader("Content-Type", client.register.contentType).writeHead(200).end(metrics); + } }