"""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""" SyslogAI Harness
⚡ SyslogAI Harness
live ·
0
Requests
0
Active
0
Agents
Loading...
Loading...
Loading...
Queue Status
Model Distribution
Agent Activity
Usage Over Time
GPU Metrics
Live Stream
TimeAgentModelReasonTier
""" @app.route("/") def dashboard(): return render_template_string(DASHBOARD_HTML) @app.route("/api/state") def api_state(): return fetch_state() @app.route("/api/timeseries") def api_timeseries(): period = request.args.get("period", "day") try: r = requests.get("http://router:9000/metrics/timeseries?period=" + period, timeout=5) if r.status_code == 200: return r.json() except Exception: pass return {"models": {}, "labels": []} @app.route("/api/stream") def api_stream(): def ev(): q = queue.Queue() with sse_lock: sse_subscribers.append(q) try: yield "data: "+json.dumps(fetch_state())+"\n\n" while True: try: msg = q.get(timeout=3); yield "data: "+msg+"\n\n" except queue.Empty: yield "data: "+json.dumps(fetch_state())+"\n\n" except GeneratorExit: pass finally: with sse_lock: if q in sse_subscribers: sse_subscribers.remove(q) return Response(stream_with_context(ev()), mimetype="text/event-stream", headers={"Cache-Control":"no-cache","X-Accel-Buffering":"no","Access-Control-Allow-Origin":"*"}) @app.route("/health") def health(): return {"status":"healthy","service":"harness-dashboard"} if __name__ == "__main__": app.run(host="0.0.0.0", port=3000, debug=False)