-> timeseries

This commit is contained in:
Alex Holliday committed 2026-01-12 19:32:23 +00:00
1 parent 5c14c68899
commit e090d3cfd3
91 files changed
+941 -987

No files matched your search

+79
View File
@@ -0,0 +1,79 @@
import type { MonitorType } from "@/types/index.js";
export interface CheckTimingPhases {
wait: number;
dns: number;
tcp: number;
tls: number;
request: number;
firstByte: number;
download: number;
total: number;
}
export interface CheckTimings {
start: number;
socket: number;
lookup: number;
connect: number;
secureConnect: number;
upload: number;
response: number;
end: number;
phases: CheckTimingPhases;
}
export interface CheckCpuInfo {
physical_core: number;
logical_core: number;
frequency: number;
temperature: number[];
free_percent: number;
usage_percent: number;
}
export interface CheckMemoryInfo {
total_bytes: number;
available_bytes: number;
used_bytes: number;
usage_percent: number;
}
export interface CheckHostInfo {
os: string;
platform: string;
kernel_version: string;
}
export interface CheckCaptureInfo {
version: string;
mode: string;
}
export interface CheckDiskInfo {}
export interface CheckNetInfo {}
export interface Check {
id: string;
monitorId: string;
teamId: string;
type: MonitorType;
status: boolean;
responseTime: number;
timings: CheckTimings;
statusCode: number;
message: string;
ack: boolean;
expiry: string;
cpu: CheckCpuInfo;
memory: CheckMemoryInfo;
disk: CheckDiskInfo[];
host: CheckHostInfo;
errors: string[];
capture: CheckCaptureInfo;
net: CheckNetInfo[];
__v: number;
createdAt: string;
updatedAt: string;
}
+2
View File
@@ -0,0 +1,2 @@
export * from "@/types/check.js";
export * from "@/types/monitor.js";
+29
View File
@@ -0,0 +1,29 @@
export const MonitorTypes = ["http", "ping", "pagespeed", "hardware", "docker", "port", "game"] as const;
export type MonitorType = (typeof MonitorTypes)[number];
export interface Monitor {
id: string;
userId: string;
teamId: string;
name: string;
description: string;
statusWindow: boolean[];
statusWindowSize: number;
statusWindowThreshold: number;
type: MonitorType;
ignoreTlsErrors: boolean;
url: string;
isActive: boolean;
interval: number;
notifications: string[];
alertThreshold: number;
selectedDisks: string[];
group: string | null;
cpuAlertThreshold: number;
memoryAlertThreshold: number;
diskAlertThreshold: number;
tempAlertThreshold: number;
createdAt: string;
updatedAt: string;
status: boolean;
}