+ *
Cache Stats
+ *
Hit Rate: {(metrics.hitRate * 100).toFixed(1)}%
+ *
Avg Query Time: {Math.round(metrics.avgQueryTime)}ms
+ *
+ * );
+ * }
+ */
+export function useCacheMonitoring() {
+ // Re-render when metrics change (simple polling)
+ const [metrics, setMetrics] = React.useState(cacheMonitor.getMetrics());
+
+ React.useEffect(() => {
+ const interval = setInterval(() => {
+ setMetrics(cacheMonitor.getMetrics());
+ }, 1000);
+
+ return () => clearInterval(interval);
+ }, []);
+
+ return metrics;
+}
+
+// Only import React if using the hook
+let React: any;
+try {
+ React = require('react');
+} catch {
+ // React not available, hook won't work but main exports still functional
+}