@cocalc/project
Version:
CoCalc: project daemon
91 lines (90 loc) • 1.81 kB
TypeScript
export declare type State = "R" | "S" | "D" | "Z" | "T" | "W";
export interface Mem {
rss: number;
}
export interface Stat {
ppid: number;
state: State;
utime: number;
stime: number;
cutime: number;
cstime: number;
starttime: number;
nice: number;
num_threads: number;
mem: Mem;
}
export interface Cpu {
pct: number;
secs: number;
}
interface ProcProject {
type: "project";
}
interface ProcTerminal {
type: "terminal";
path: string;
}
interface ProcJupyter {
type: "jupyter";
path: string;
}
interface ProcX11 {
type: "x11";
path: string;
}
interface ProcSSHD {
type: "sshd";
}
export declare type CoCalcInfo = ProcTerminal | ProcJupyter | ProcProject | ProcSSHD | ProcX11;
export interface Process {
pid: number;
ppid: number;
exe: string;
cmdline: string[];
stat: Stat;
cpu: Cpu;
uptime: number;
cocalc?: CoCalcInfo;
}
export interface CGroup {
mem_stat: {
[key: string]: number;
};
cpu_usage: number;
cpu_usage_rate: number;
oom_kills: number;
cpu_cores_limit: number;
}
export interface DiskUsageInfo {
available: number;
free: number;
total: number;
usage: number;
}
export declare type DiskUsage = Record<"tmp" | "project", DiskUsageInfo>;
export declare type Processes = {
[pid: string]: Process;
};
export interface ProjectInfo {
timestamp: number;
processes?: Processes;
cgroup?: CGroup;
disk_usage: DiskUsage;
uptime: number;
boottime: Date;
}
export declare enum Signal {
Kill = 9,
Interrupt = 2,
Terminate = 15,
Pause = 19,
Resume = 18
}
interface SignalCmd {
cmd: "signal";
signal?: Signal;
pids: number[];
}
export declare type ProjectInfoCmds = SignalCmd;
export {};