Import source: web/src/lib/types
Import the existing local project snapshot. This commit organizes existing files; it does not represent newly developed functionality.
This commit is contained in:
@@ -0,0 +1,90 @@
|
||||
export type TargetState = "up" | "degraded" | "down" | "unknown";
|
||||
|
||||
export interface CheckPoint {
|
||||
ts: number;
|
||||
ok: boolean;
|
||||
latency_ms: number;
|
||||
detail?: string;
|
||||
error?: string;
|
||||
}
|
||||
|
||||
export interface LatencyStats {
|
||||
avg_ms: number;
|
||||
p50_ms: number;
|
||||
p95_ms: number;
|
||||
min_ms: number;
|
||||
max_ms: number;
|
||||
}
|
||||
|
||||
export interface Incident {
|
||||
id: number;
|
||||
target_id: string;
|
||||
started_at: number;
|
||||
ended_at?: number;
|
||||
error?: string;
|
||||
}
|
||||
|
||||
export type CheckKind = "http" | "tcp" | "tls" | "icmp" | "docker";
|
||||
|
||||
export interface Target {
|
||||
id: string;
|
||||
name: string;
|
||||
type: CheckKind;
|
||||
endpoint: string;
|
||||
interval_sec: number;
|
||||
state: TargetState;
|
||||
fails: number;
|
||||
last?: CheckPoint;
|
||||
uptime_24h?: number;
|
||||
uptime_7d?: number;
|
||||
uptime_30d?: number;
|
||||
latency: LatencyStats;
|
||||
cert_days?: number;
|
||||
incident?: Incident;
|
||||
}
|
||||
|
||||
export interface Bucket {
|
||||
start: number;
|
||||
total: number;
|
||||
failed: number;
|
||||
avg_latency_ms: number;
|
||||
max_latency_ms: number;
|
||||
}
|
||||
|
||||
export interface HistoryResponse {
|
||||
target_id: string;
|
||||
range: string;
|
||||
from: number;
|
||||
to: number;
|
||||
points: CheckPoint[];
|
||||
buckets: Bucket[];
|
||||
bucket_ms: number;
|
||||
}
|
||||
|
||||
export interface CheckEvent {
|
||||
target_id: string;
|
||||
ts: number;
|
||||
ok: boolean;
|
||||
latency_ms: number;
|
||||
detail?: string;
|
||||
error?: string;
|
||||
state: TargetState;
|
||||
}
|
||||
|
||||
export interface StateEvent {
|
||||
target_id: string;
|
||||
ts: number;
|
||||
state: TargetState;
|
||||
prev_state: TargetState;
|
||||
incident?: Incident;
|
||||
}
|
||||
|
||||
/** A target enriched with live, client-side stream state. */
|
||||
export interface LiveTarget extends Target {
|
||||
/** Increments on every completed probe — drives the pulse animation. */
|
||||
pulse: number;
|
||||
/** Wall time of the last confirmed state transition — drives ripples. */
|
||||
stateChangedAt: number;
|
||||
/** Rolling buffer of recent checks for the sparkline. */
|
||||
series: CheckPoint[];
|
||||
}
|
||||
Reference in New Issue
Block a user