feat: 基本完成
This commit is contained in:
parent
da51926c2f
commit
ea696c2c38
@ -12,7 +12,7 @@ async function bootstrap() {
|
|||||||
const systemUsageCron: SystemUsageCron = app.get(SystemUsageCron);
|
const systemUsageCron: SystemUsageCron = app.get(SystemUsageCron);
|
||||||
systemUsageCron.startCronJob();
|
systemUsageCron.startCronJob();
|
||||||
|
|
||||||
const server = await app.listen(0);
|
const server = await app.listen(3003);
|
||||||
console.log(`Application is running on port ${server.address().port}`);
|
console.log(`Application is running on port ${server.address().port}`);
|
||||||
}
|
}
|
||||||
bootstrap();
|
bootstrap();
|
||||||
|
@ -66,7 +66,7 @@ export class SystemUsageCron {
|
|||||||
gpu: GPUItem[];
|
gpu: GPUItem[];
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
this.logger.log('stdout', stdout)
|
// this.logger.log('stdout', stdout)
|
||||||
return new Promise((resolve, reject) => {
|
return new Promise((resolve, reject) => {
|
||||||
xml2js.parseString(
|
xml2js.parseString(
|
||||||
stdout,
|
stdout,
|
||||||
@ -81,8 +81,8 @@ export class SystemUsageCron {
|
|||||||
if (process.env.GPU_MODEL === 'P800') {
|
if (process.env.GPU_MODEL === 'P800') {
|
||||||
const xpuData = (result as XPUSmiLog).xpu_smi_log.xpu;
|
const xpuData = (result as XPUSmiLog).xpu_smi_log.xpu;
|
||||||
this.logger.log('以下时xpu打他');
|
this.logger.log('以下时xpu打他');
|
||||||
this.logger.log(xpuData);
|
// this.logger.log(xpuData);
|
||||||
this.logger.log(_.get(xpuData, '[0].utilization[0].xpu_util[0]'));
|
// this.logger.log(_.get(xpuData, '[0].utilization[0].xpu_util[0]'));
|
||||||
resolve({
|
resolve({
|
||||||
usage: parseFloat(
|
usage: parseFloat(
|
||||||
_.get(xpuData, '[0].utilization[0].xpu_util[0]'),
|
_.get(xpuData, '[0].utilization[0].xpu_util[0]'),
|
||||||
@ -91,7 +91,7 @@ export class SystemUsageCron {
|
|||||||
} else {
|
} else {
|
||||||
const cpuData = (result as NvidiaSmiLog).nvidia_smi_log.gpu;
|
const cpuData = (result as NvidiaSmiLog).nvidia_smi_log.gpu;
|
||||||
this.logger.log('以下时cpu打他');
|
this.logger.log('以下时cpu打他');
|
||||||
this.logger.log(_.get(cpuData, '[0]'));
|
// this.logger.log(_.get(cpuData, '[0]'));
|
||||||
resolve({
|
resolve({
|
||||||
usage: parseFloat(
|
usage: parseFloat(
|
||||||
_.get(cpuData, '[0].utilization[0].gpu_util[0]'),
|
_.get(cpuData, '[0].utilization[0].gpu_util[0]'),
|
||||||
@ -115,11 +115,11 @@ export class SystemUsageCron {
|
|||||||
si.mem(),
|
si.mem(),
|
||||||
this.handleGpuInfo(),
|
this.handleGpuInfo(),
|
||||||
]);
|
]);
|
||||||
this.logger.log('gpu', gpuInfo.usage);
|
// this.logger.log('gpu', gpuInfo.usage);
|
||||||
this.logger.log('cpu', parseFloat(cpu?.currentLoad.toFixed(2)));
|
// this.logger.log('cpu', parseFloat(cpu?.currentLoad.toFixed(2)));
|
||||||
this.logger.log('memory', memory)
|
// // this.logger.log('memory', memory)
|
||||||
this.logger.log('memory used', parseFloat(memory?.active.toFixed(2)))
|
// this.logger.log('memory used', parseFloat(memory?.active.toFixed(2)))
|
||||||
this.logger.log('memory total', parseFloat(memory?.total.toFixed(2)))
|
// this.logger.log('memory total', parseFloat(memory?.total.toFixed(2)))
|
||||||
|
|
||||||
await this.systemUsageService.create({
|
await this.systemUsageService.create({
|
||||||
cpuUsage: parseFloat(cpu?.currentLoad.toFixed(2)),
|
cpuUsage: parseFloat(cpu?.currentLoad.toFixed(2)),
|
||||||
|
@ -30,6 +30,7 @@ export class SystemUsageService {
|
|||||||
|
|
||||||
async getLatestUsage(interval: 'minute' | 'hour' | 'day' = 'minute') {
|
async getLatestUsage(interval: 'minute' | 'hour' | 'day' = 'minute') {
|
||||||
const now = new Date();
|
const now = new Date();
|
||||||
|
now.setHours(now.getHours() - 8)
|
||||||
let timeFunction: (date: Date, amount: number) => Date;
|
let timeFunction: (date: Date, amount: number) => Date;
|
||||||
let intervalMinutes: number;
|
let intervalMinutes: number;
|
||||||
|
|
||||||
@ -40,11 +41,11 @@ export class SystemUsageService {
|
|||||||
break;
|
break;
|
||||||
case 'hour':
|
case 'hour':
|
||||||
timeFunction = subHours;
|
timeFunction = subHours;
|
||||||
intervalMinutes = 60;
|
intervalMinutes = 1;
|
||||||
break;
|
break;
|
||||||
case 'day':
|
case 'day':
|
||||||
timeFunction = subDays;
|
timeFunction = subDays;
|
||||||
intervalMinutes = 1440;
|
intervalMinutes = 1;
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
timeFunction = subMinutes;
|
timeFunction = subMinutes;
|
||||||
|
Loading…
x
Reference in New Issue
Block a user