Initial ui
This commit is contained in:
parent
526822335e
commit
4bfb87448f
18 changed files with 702 additions and 92 deletions
55
app/lib/getStats.ts
Normal file
55
app/lib/getStats.ts
Normal file
|
|
@ -0,0 +1,55 @@
|
|||
export interface Memory {
|
||||
total: number;
|
||||
used: number;
|
||||
available: number;
|
||||
percent: number;
|
||||
}
|
||||
|
||||
export interface Cpu {
|
||||
percent: number;
|
||||
model: string;
|
||||
cores: number;
|
||||
}
|
||||
|
||||
export interface Disk {
|
||||
total: number;
|
||||
used: number;
|
||||
available: number;
|
||||
percent: number;
|
||||
}
|
||||
|
||||
export interface Uptime {
|
||||
seconds: number;
|
||||
days: number;
|
||||
hours: number;
|
||||
minutes: number;
|
||||
}
|
||||
|
||||
export interface NetworkInterface {
|
||||
rx: number;
|
||||
tx: number;
|
||||
}
|
||||
|
||||
export interface LoadAvg {
|
||||
"1m": number;
|
||||
"5m": number;
|
||||
"15m": number;
|
||||
}
|
||||
|
||||
export interface Stats {
|
||||
timestamp: string;
|
||||
memory: Memory;
|
||||
cpu: Cpu;
|
||||
disk: Disk;
|
||||
uptime: Uptime;
|
||||
network: Record<string, NetworkInterface>;
|
||||
services: Record<string, string>;
|
||||
loadAvg: LoadAvg;
|
||||
temperature: number | null;
|
||||
}
|
||||
|
||||
export async function getStats(): Promise<Stats> {
|
||||
const res = await fetch("/api/stats");
|
||||
if (!res.ok) throw new Error(`Failed to fetch stats: ${res.status}`);
|
||||
return res.json() as Promise<Stats>;
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue