{
    "title": "Realtime Monitor (WebSocket)",
    "description": "Hướng dẫn vận hành hệ thống giám sát hoạt động AI thời gian thực thông qua kết nối SSE (Server-Sent Events) và Langfuse REST API.",
    "diagram": "diagrams/realtime-monitor.svg",
    "sections": [
        {
            "title": "Cơ chế Live Stream",
            "type": "text",
            "content": "Thay vì sử dụng Polling liên tục, dashboard Live Monitor sử dụng <b>SSE (Server-Sent Events)</b> để nhận dữ liệu đẩy từ server. Server duy trì một event loop mỗi 4 giây:<br>1. Gọi <b>Langfuse API</b> để lấy snapshot các trace mới nhất.<br>2. Tính toán các chỉ số Aggregate (Latency trung bình, Error Rate, Token Cost).<br>3. Kiểm tra <b>Signature</b> của dữ liệu. Nếu có thay đổi so với lần trước, server sẽ đẩy payload mới xuống client."
        },
        {
            "title": "Các chỉ số Giám sát",
            "type": "text",
            "content": "Dashboard cung cấp 4 biểu đồ quan trọng:<br>- <b>Traffic:</b> Số lượng request mỗi phút.<br>- <b>Latency:</b> Tốc độ phản hồi của LLM (cảnh báo nếu > 12s).<br>- <b>Cost:</b> Chi phí vận hành ước tính theo thời gian thực.<br>- <b>Error Rate:</b> Tỷ lệ lỗi hệ thống hoặc lỗi từ model provider."
        },
        {
            "title": "API Giám sát",
            "type": "api",
            "endpoints": [
                { "method": "GET", "path": "/api/live-monitor/bootstrap", "description": "Lấy dữ liệu khởi tạo cho dashboard (20 phút gần nhất)." },
                { "method": "GET", "path": "/api/live-monitor/stream", "description": "Mở kết nối SSE để nhận update liên tục." }
            ]
        }
    ]
}
