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