Update API Routes to include Temp & GPU Data

This commit is contained in:
headlessdev
2025-04-28 20:12:46 +02:00
parent 934768fec8
commit c9f1d32038
3 changed files with 42 additions and 3 deletions

View File

@@ -132,6 +132,8 @@ export async function POST(request: NextRequest) {
cpu: number[],
ram: number[],
disk: number[],
gpu: number[],
temp: number[],
online: boolean[]
}>();
@@ -142,6 +144,8 @@ export async function POST(request: NextRequest) {
cpu: [],
ram: [],
disk: [],
gpu: [],
temp: [],
online: []
});
});
@@ -167,6 +171,8 @@ export async function POST(request: NextRequest) {
interval.cpu.push(parseUsageValue(record.cpuUsage));
interval.ram.push(parseUsageValue(record.ramUsage));
interval.disk.push(parseUsageValue(record.diskUsage));
interval.gpu.push(parseUsageValue(record.gpuUsage));
interval.temp.push(parseUsageValue(record.temp));
interval.online.push(record.online);
}
});
@@ -178,6 +184,8 @@ export async function POST(request: NextRequest) {
cpu: [],
ram: [],
disk: [],
gpu: [],
temp: [],
online: []
};
@@ -189,6 +197,8 @@ export async function POST(request: NextRequest) {
cpu: average(data.cpu),
ram: average(data.ram),
disk: average(data.disk),
gpu: average(data.gpu),
temp: average(data.temp),
online: data.online.length ?
data.online.filter(Boolean).length / data.online.length >= 0.5
: null
@@ -221,6 +231,14 @@ export async function POST(request: NextRequest) {
const data = historyMap.get(d.toISOString())?.disk || [];
return data.length ? Math.round((data.reduce((a, b) => a + b) / data.length) * 100) / 100 : null;
}),
gpu: intervals.map(d => {
const data = historyMap.get(d.toISOString())?.gpu || [];
return data.length ? Math.round((data.reduce((a, b) => a + b) / data.length) * 100) / 100 : null;
}),
temp: intervals.map(d => {
const data = historyMap.get(d.toISOString())?.temp || [];
return data.length ? Math.round((data.reduce((a, b) => a + b) / data.length) * 100) / 100 : null;
}),
online: intervals.map(d => {
const data = historyMap.get(d.toISOString())?.online || [];
return data.length ? data.filter(Boolean).length / data.length >= 0.5 : null;

View File

@@ -11,6 +11,8 @@ export async function GET() {
cpuUsage: true,
ramUsage: true,
diskUsage: true,
gpuUsage: true,
temp: true,
uptime: true
}
});
@@ -21,13 +23,17 @@ export async function GET() {
cpuUsage: string | null;
ramUsage: string | null;
diskUsage: string | null;
gpuUsage: string | null;
temp: string | null;
uptime: string | null;
}) => ({
id: server.id,
online: server.online,
cpuUsage: server.cpuUsage ? parseInt(server.cpuUsage) : 0,
ramUsage: server.ramUsage ? parseInt(server.ramUsage) : 0,
diskUsage: server.diskUsage ? parseInt(server.diskUsage) : 0,
cpuUsage: server.cpuUsage ? parseFloat(server.cpuUsage) : 0,
ramUsage: server.ramUsage ? parseFloat(server.ramUsage) : 0,
diskUsage: server.diskUsage ? parseFloat(server.diskUsage) : 0,
gpuUsage: server.gpuUsage ? parseFloat(server.gpuUsage) : 0,
temp: server.temp ? parseFloat(server.temp) : 0,
uptime: server.uptime || ""
}));