Live Dashboard (/Q/dashboard)
Real-time server monitoring via WebSocket. No Grafana, no Prometheus, no setup.
What it shows
| Panel | Metrics |
|---|---|
| Overview cards | Total requests, current RPS (5-sec window), avg response time, slowest request, memory + peak, worker status, WebSocket connections, active rooms, data transferred |
| Throughput sparkline | Per-second request rate for the last 60 seconds |
| Top paths | Most-requested URLs with hit count and avg response time |
| Active rooms | WebSocket rooms with member count |
| Live request log | Scrolling feed: timestamp, color-coded status, method, URI, response time |
Monitoring endpoints
| URL | Format | Use case |
|---|---|---|
/Q/dashboard | HTML | Browser — visual dashboard |
/Q/health | JSON | Load balancers, uptime monitors (lightweight, no auth) |
/Q/stats | JSON | Full stats — sparkline, topPaths, activeRooms, statusCodes, cache |
Feed /Q/stats to Grafana, Datadog, or your own monitoring. The JSON includes everything the dashboard shows.
Control Panel (/Q/panel)
Password-protected admin panel. First visit sets the password. Restricted to localhost by default — set Q.panel.remote: true for remote access.
Apps tab — discover and manage apps
Auto-discovers sibling app directories (any folder with web/ or config/app.json). From the panel you can create new apps, serve them (hot-switches the document root without restart), open in VS Code, and run configure scripts. The apps directory path is editable.
Plugins tab — manage Qbix plugins
Reads the app’s config/app.json for declared plugins, local/plugins.json for installed versions, and scans the Platform’s plugins/ directory. Shows version, dependencies, and DB connections for each plugin.
Playground tab — sandboxed PHP REPL
Write PHP with all Q classes preloaded, hit Run (or Ctrl+Enter), see output. Sandboxed in a forked process: filesystem writes disabled, no network, 32MB memory limit, 5-second timeout. Safe to experiment on a production server.
Scripts, System, and Servers tabs
Scripts: List and run PHP scripts from scripts/Q/ — configure, install, translate, etc.
System: PHP version, OS, extensions, memory limit. One-click Platform install: clones the repo, runs submodule init, sets up paths.
Servers: Add, deploy to, and remove remote servers through the browser. Push code via rsync, hot-reload on the remote.