website-builder-backend / frontend /hooks /useMonitoring.js
David Prince
fix: add all missing local module stubs (remote_mcp_registry, mcp_auth, mcp_transport, etc)
cce8120
Raw
History Blame Contribute Delete
739 Bytes
"use client";
import {useEffect,useState} from "react";
import monitoring from "../services/monitoring/client";
export default function useMonitoring(interval=5000){
const [data,setData]=useState({});
const [loading,setLoading]=useState(true);
async function refresh(){
setLoading(true);
try{
const [
overview,
metrics,
system,
health
]=await Promise.all([
monitoring.overview(),
monitoring.metrics(),
monitoring.system(),
monitoring.health()
]);
setData({
overview:overview.data,
metrics:metrics.data,
system:system.data,
health:health.data
});
}finally{
setLoading(false);
}
}
useEffect(()=>{
refresh();
const id=setInterval(refresh,interval);
return()=>clearInterval(id);
},[interval]);
return{
loading,
data,
refresh
};
}