Spaces:
Running
Running
File size: 815 Bytes
f568a4f | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 | 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(),
};
}
|