mirror of
https://github.com/ajayyy/SponsorBlockServer.git
synced 2025-12-06 11:36:58 +03:00
Add connections to status
This commit is contained in:
12
src/app.ts
12
src/app.ts
@@ -81,13 +81,15 @@ export function createServer(callback: () => void): Server {
|
||||
// Set production mode
|
||||
app.set("env", config.mode || "production");
|
||||
|
||||
setupRoutes(router);
|
||||
const server = app.listen(config.port, callback);
|
||||
|
||||
return app.listen(config.port, callback);
|
||||
setupRoutes(router, server);
|
||||
|
||||
return server;
|
||||
}
|
||||
|
||||
/* eslint-disable @typescript-eslint/no-misused-promises */
|
||||
function setupRoutes(router: Router) {
|
||||
function setupRoutes(router: Router, server: Server) {
|
||||
// Rate limit endpoint lists
|
||||
const voteEndpoints: RequestHandler[] = [voteOnSponsorTime];
|
||||
const viewEndpoints: RequestHandler[] = [viewedVideoSponsorTime];
|
||||
@@ -200,8 +202,8 @@ function setupRoutes(router: Router) {
|
||||
router.get("/api/chapterNames", getChapterNames);
|
||||
|
||||
// get status
|
||||
router.get("/api/status/:value", getStatus);
|
||||
router.get("/api/status", getStatus);
|
||||
router.get("/api/status/:value", (req, res) => getStatus(req, res, server));
|
||||
router.get("/api/status", (req, res) => getStatus(req, res, server));
|
||||
|
||||
router.get("/api/youtubeApiProxy", youtubeApiProxy);
|
||||
// get user category stats
|
||||
|
||||
@@ -5,8 +5,9 @@ import os from "os";
|
||||
import redis, { getRedisStats } from "../utils/redis";
|
||||
import { promiseOrTimeout } from "../utils/promise";
|
||||
import { Postgres } from "../databases/Postgres";
|
||||
import { Server } from "http";
|
||||
|
||||
export async function getStatus(req: Request, res: Response): Promise<Response> {
|
||||
export async function getStatus(req: Request, res: Response, server: Server): Promise<Response> {
|
||||
const startTime = Date.now();
|
||||
let value = req.params.value as string[] | string;
|
||||
value = Array.isArray(value) ? value[0] : value;
|
||||
@@ -42,6 +43,7 @@ export async function getStatus(req: Request, res: Response): Promise<Response>
|
||||
processTime,
|
||||
redisProcessTime,
|
||||
loadavg: os.loadavg().slice(1), // only return 5 & 15 minute load average
|
||||
connections: await new Promise((resolve) => server.getConnections((_, count) => resolve(count))),
|
||||
statusRequests,
|
||||
hostname: os.hostname(),
|
||||
postgresStats: (db as Postgres)?.getStats?.(),
|
||||
|
||||
Reference in New Issue
Block a user