aureon-os / frontend /src /hooks /useDataStreamMonitor.ts
GaryLeckey's picture
Deploy Aureon OS (deploy/selfhost stack: nginx edge + fusion API x2 + console + HNC organ + redis + postgres; paper mode) (part 18)
f568a4f verified
Raw History Blame Contribute Delete
815 Bytes
import { useState, useEffect } from 'react';
import { dataStreamMonitor, DataStreamMonitorState } from '@/core/dataStreamMonitor';
export function useDataStreamMonitor() {
const [state, setState] = useState<DataStreamMonitorState>(dataStreamMonitor.getState());
useEffect(() => {
const unsubscribe = dataStreamMonitor.subscribe(setState);
return unsubscribe;
}, []);
return {
streams: state.streams,
stats: state.stats,
totalRequests: state.totalRequests,
totalErrors: state.totalErrors,
overallHealth: state.overallHealth,
lastUpdate: state.lastUpdate,
healthyEndpoints: dataStreamMonitor.getHealthyEndpoints(),
unhealthyEndpoints: dataStreamMonitor.getUnhealthyEndpoints(),
clearHistory: () => dataStreamMonitor.clearHistory(),
};
}