Update server configuration and enhance network monitoring. Changed SERVER_NAME in .env file. Added network download and upload speed tracking to system stats in index.ts, and updated SessionServer model to store these metrics.
This commit is contained in:
@@ -1,5 +1,5 @@
|
||||
SERVER_LOCATION=a1
|
||||
SERVER_NAME=s6
|
||||
SERVER_NAME=s7
|
||||
SERVER_TYPE=prod
|
||||
PORT=3000
|
||||
MONGO_URI=mongodb://root:p62Z!ZatgY25@194.26.138.94:27017
|
||||
@@ -79,6 +79,8 @@ async function updateSessionServerData(data: Record<string, unknown>) {
|
||||
}
|
||||
|
||||
const execAsync = util.promisify(exec);
|
||||
const NETWORK_LOG_INTERVAL = 10; // log network devices every N polls
|
||||
let networkPollCount = 0;
|
||||
|
||||
async function getSystemStats() {
|
||||
try {
|
||||
@@ -119,6 +121,37 @@ async function getSystemStats() {
|
||||
// GPU unavailable, CPU/RAM still updated
|
||||
}
|
||||
|
||||
// Network (systeminformation)
|
||||
try {
|
||||
const networkStats = await si.networkStats("*");
|
||||
const totalRxSec = networkStats.reduce(
|
||||
(sum, iface) => sum + (iface.rx_sec ?? 0),
|
||||
0
|
||||
);
|
||||
const totalTxSec = networkStats.reduce(
|
||||
(sum, iface) => sum + (iface.tx_sec ?? 0),
|
||||
0
|
||||
);
|
||||
|
||||
data.networkDownloadSpeed =
|
||||
Math.round(((totalRxSec * 8) / 1_000_000) * 100) / 100;
|
||||
data.networkUploadSpeed =
|
||||
Math.round(((totalTxSec * 8) / 1_000_000) * 100) / 100;
|
||||
|
||||
networkPollCount++;
|
||||
if (networkPollCount % NETWORK_LOG_INTERVAL === 0) {
|
||||
const ifaceInfo = networkStats
|
||||
.map(
|
||||
(n) =>
|
||||
`${n.iface} (${(((n.rx_sec ?? 0) * 8) / 1_000_000).toFixed(2)} ↓ / ${(((n.tx_sec ?? 0) * 8) / 1_000_000).toFixed(2)} ↑ Mbps)`
|
||||
)
|
||||
.join("; ");
|
||||
console.log("Network stats from:", ifaceInfo || "no interfaces");
|
||||
}
|
||||
} catch {
|
||||
// networkStats unavailable
|
||||
}
|
||||
|
||||
await updateSessionServerData(data);
|
||||
} catch (error) {
|
||||
if (error instanceof Error) {
|
||||
|
||||
@@ -36,6 +36,12 @@ const sessionServerSchema = new Schema(
|
||||
localIP: {
|
||||
type: String,
|
||||
},
|
||||
networkDownloadSpeed: {
|
||||
type: Number,
|
||||
},
|
||||
networkUploadSpeed: {
|
||||
type: Number,
|
||||
},
|
||||
},
|
||||
{
|
||||
timestamps: true,
|
||||
|
||||
Reference in New Issue
Block a user