mirror of
https://github.com/fankes/beszel.git
synced 2025-10-20 02:09:28 +08:00
84 lines
1.4 KiB
TypeScript
84 lines
1.4 KiB
TypeScript
import { RecordModel } from 'pocketbase'
|
|
|
|
export interface SystemRecord extends RecordModel {
|
|
name: string
|
|
host: string
|
|
status: 'up' | 'down' | 'paused' | 'pending'
|
|
port: string
|
|
info: SystemInfo
|
|
}
|
|
|
|
export interface SystemInfo {
|
|
/** cpu percent */
|
|
cpu: number
|
|
/** cpu threads */
|
|
t: number
|
|
/** cpu cores */
|
|
c: number
|
|
/** cpu model */
|
|
m: string
|
|
/** operating system */
|
|
o?: string
|
|
/** uptime */
|
|
u: number
|
|
/** memory percent */
|
|
mp: number
|
|
/** disk percent */
|
|
dp: number
|
|
}
|
|
|
|
export interface SystemStats {
|
|
/** cpu percent */
|
|
cpu: number
|
|
/** total memory (gb) */
|
|
m: number
|
|
/** memory used (gb) */
|
|
mu: number
|
|
/** memory percent */
|
|
mp: number
|
|
/** memory buffer + cache (gb) */
|
|
mb: number
|
|
/** disk size (gb) */
|
|
d: number
|
|
/** disk used (gb) */
|
|
du: number
|
|
/** disk percent */
|
|
dp: number
|
|
/** disk read (mb) */
|
|
dr: number
|
|
/** disk write (mb) */
|
|
dw: number
|
|
/** network sent (mb) */
|
|
ns: number
|
|
/** network received (mb) */
|
|
nr: number
|
|
}
|
|
|
|
export interface ContainerStatsRecord extends RecordModel {
|
|
system: string
|
|
stats: ContainerStats[]
|
|
}
|
|
|
|
interface ContainerStats {
|
|
/** name */
|
|
n: string
|
|
/** cpu percent */
|
|
c: number
|
|
/** memory used (gb) */
|
|
m: number
|
|
}
|
|
|
|
export interface SystemStatsRecord extends RecordModel {
|
|
system: string
|
|
stats: SystemStats
|
|
}
|
|
|
|
export interface AlertRecord extends RecordModel {
|
|
id: string
|
|
system: string
|
|
name: string
|
|
// user: string
|
|
}
|
|
|
|
export type ChartTimes = '1h' | '12h' | '24h' | '1w' | '30d'
|