import { Line, LineChart, ResponsiveContainer, Tooltip, XAxis, YAxis } from "recharts"; import { PageHeader } from "@/components/common/PageHeader"; import { Card, CardContent, CardDescription, CardHeader, CardTitle } from "@/components/ui/card"; import { Badge } from "@/components/ui/badge"; import { StatusChip } from "@/components/common/StatusChip"; import { ServiceHealthCard } from "@/widgets/ServiceHealthCard"; import { QueueWidget } from "@/widgets/QueueWidget"; import { StorageWidget } from "@/widgets/StorageWidget"; import { useDashboardStats } from "@/hooks/useDocuments"; import { useHealth } from "@/hooks/useHealth"; export function SystemHealthPage() { const { data } = useDashboardStats(); const { data: health } = useHealth(); return ( <> v{health?.version ?? "—"} } />
Embeddings & reranker Inference latency & queue depth
Throughput (24h) Documents & chunks processed per minute
); } function Row({ label, value, badge, tone, }: { label: string; value: string; badge?: string; tone?: "ok" | "warning"; }) { return (
{label}
{value} {badge && {badge}} {tone && }
); }