From 128ae47f6e5562a2af85a269ac5a283c0360bdef Mon Sep 17 00:00:00 2001 From: wsrvn Date: Sat, 20 Jan 2024 23:36:02 +0300 Subject: [PATCH] fix serverinfo querying database every second --- plugins/ui/dynamic_components/ServerInfo.component.ts | 7 ++----- src/Trakman.ts | 6 +++++- src/database/DB.ts | 4 ++++ 3 files changed, 11 insertions(+), 6 deletions(-) diff --git a/plugins/ui/dynamic_components/ServerInfo.component.ts b/plugins/ui/dynamic_components/ServerInfo.component.ts index 1a02a50cd..99a0c8246 100644 --- a/plugins/ui/dynamic_components/ServerInfo.component.ts +++ b/plugins/ui/dynamic_components/ServerInfo.component.ts @@ -48,7 +48,7 @@ export default class ServerInfoWindow extends PopupWindow { serverMapCount, serverVisitorsCount] } - private async getHostInfo(): Promise { + private getHostInfo(): string[] { // Host system information const osUptime: string = tm.utils.getVerboseTime(~~uptime() * 1000) // Seconds const osArch: string = arch() @@ -62,12 +62,9 @@ export default class ServerInfoWindow extends PopupWindow { // Node information const nodeVersion: string = version const nodeRAMUsage: string = String(~~(memoryUsage().heapTotal / (1024 ** 2)) + ` MB`) - // Postgres information - const postgresVersion: string = String(`v` + (await tm.db.query(`select version();`) as any)[0].version).split(` `)[1] - const postgresDBSize: string = String((await tm.db.query(`select pg_size_pretty(pg_database_size('${process.env.DB_NAME}'));`) as any)[0].pg_size_pretty) return [osUptime, osArch, osCPU, osCPULoad, osRAM, osKernel, trakmanVersion, trakmanUptime, nodeVersion, nodeRAMUsage, - postgresVersion, postgresDBSize] + tm.db.dbVersion, tm.db.dbSize] } protected onOpen(info: tm.ManialinkClickInfo): void { diff --git a/src/Trakman.ts b/src/Trakman.ts index 7b70ce230..c6a3b2fe4 100644 --- a/src/Trakman.ts +++ b/src/Trakman.ts @@ -64,7 +64,11 @@ namespace trakman { } return res.rows } - } + }, + + get dbSize() { return Database.dbSize }, + + get dbVersion() { return Database.dbVersion }, } diff --git a/src/database/DB.ts b/src/database/DB.ts index 7a4dd7372..75ed60d12 100644 --- a/src/database/DB.ts +++ b/src/database/DB.ts @@ -15,6 +15,8 @@ export class Database { port: Number(process.env.DB_PORT) }) private client: postgres.Pool | postgres.PoolClient = Database.pool + static dbVersion: string + static dbSize: string static async initialize(): Promise { for (const e of createQueries) { @@ -22,6 +24,8 @@ export class Database { await Logger.fatal(`Database create query failed.`, `Error: ${err.message}`, err.stack, `Query:`, e) }) } + this.dbVersion = String((await this.pool.query(`select version();`) as any)?.rows[0]?.version?.split(` `, 2)[1]) + this.dbSize = String((await this.pool.query(`select pg_size_pretty(pg_database_size('${process.env.DB_NAME}'));`) as any)?.rows[0]?.pg_size_pretty) } async enableClient(): Promise {