diff --git a/backups/20260602_103344/dashboard.py.bak b/backups/20260602_103344/dashboard.py.bak new file mode 100644 index 0000000..63b3757 --- /dev/null +++ b/backups/20260602_103344/dashboard.py.bak @@ -0,0 +1,356 @@ +"""SyslogAI Harness Dashboard — Modern Design.""" +import os, json, time, queue, threading +import requests +from flask import Flask, request, render_template_string, Response, stream_with_context + +ROUTER_METRICS = os.environ.get("ROUTER_METRICS_URL", "http://router:9000/metrics") +app = Flask(__name__) +sse_subscribers = []; sse_lock = threading.Lock() + +def fetch_state(): + try: + r = requests.get(ROUTER_METRICS, timeout=5) + if r.status_code == 200: return r.json() + except Exception: pass + return {"gpus":[],"route_counts":{},"agent_counts":{},"recent":[],"timestamp":time.time()} + +def broadcast_loop(): + while True: + time.sleep(3) + data = fetch_state(); payload = json.dumps(data) + with sse_lock: + dead = [q for q in sse_subscribers if not q.put(payload)] + for q in dead: sse_subscribers.remove(q) +threading.Thread(target=broadcast_loop, daemon=True).start() + +DASHBOARD_HTML = r""" + +
+ +| Time | Agent | Model | Reason | Tier |
|---|