@arifwidianto/rpc-agent
Version:
RPC Agent for both client and server, extends more methods easily
81 lines • 2.84 kB
JavaScript
;
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
if (k2 === undefined) k2 = k;
var desc = Object.getOwnPropertyDescriptor(m, k);
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
desc = { enumerable: true, get: function() { return m[k]; } };
}
Object.defineProperty(o, k2, desc);
}) : (function(o, m, k, k2) {
if (k2 === undefined) k2 = k;
o[k2] = m[k];
}));
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
Object.defineProperty(o, "default", { enumerable: true, value: v });
}) : function(o, v) {
o["default"] = v;
});
var __importStar = (this && this.__importStar) || function (mod) {
if (mod && mod.__esModule) return mod;
var result = {};
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
__setModuleDefault(result, mod);
return result;
};
Object.defineProperty(exports, "__esModule", { value: true });
const os = __importStar(require("os"));
class ServerExtension {
name = "server";
status = "active";
config = { enabled: true };
metadata = {
name: this.name,
version: "1.0.0",
description: "Server monitoring and management",
};
startTime = Date.now();
methods = {
system: async () => {
const cpus = os.cpus();
const totalMem = os.totalmem();
const freeMem = os.freemem();
return {
hostname: os.hostname(),
platform: os.platform(),
arch: os.arch(),
cpus: cpus.map((cpu) => ({
model: cpu.model,
speed: cpu.speed,
times: cpu.times,
})),
memory: {
total: totalMem,
free: freeMem,
used: totalMem - freeMem,
},
uptime: os.uptime(),
loadavg: os.loadavg(),
};
},
process: async () => {
const mem = process.memoryUsage();
const cpu = process.cpuUsage();
return {
pid: process.pid,
uptime: Math.floor((Date.now() - this.startTime) / 1000),
memory: {
rss: mem.rss,
heapTotal: mem.heapTotal,
heapUsed: mem.heapUsed,
external: mem.external,
},
cpu: {
user: cpu.user,
system: cpu.system,
},
};
},
};
}
exports.default = ServerExtension;
//# sourceMappingURL=index.js.map