Real-time BEAM VM dashboard for Nova — the Erlang equivalent of Phoenix LiveDashboard.
Built on Arizona for live differential rendering over WebSocket.
| Page | Description | Refresh |
|---|---|---|
| System | OTP release, uptime, schedulers, memory breakdown with usage bars | 2s |
| Processes | Top 50 processes by memory/reductions/message queue, sortable | 2s |
| ETS | All ETS tables with type, protection, size, memory, owner | 3s |
| Applications | Running applications with versions | 5s |
| Ports | Open ports with I/O stats | 3s |
| Supervisors | App selector with supervision tree visualization | 5s |
| Metrics | Live sparkline charts (memory, processes, IO, run queue) + scheduler utilization bars | 2s |
Add to your Nova application's rebar.config:
{deps, [
{nova_liveboard, {git, "https://github.com/novaframework/nova_liveboard.git", {branch, "master"}}}
]}.Add nova_liveboard to your application's dependencies in your .app.src:
{applications, [kernel, stdlib, nova, nova_liveboard]}Configure the liveboard in your sys.config:
{nova, [
{nova_apps, [
#{name => nova_liveboard, prefix => "/liveboard"}
]}
]}Visit http://localhost:8080/liveboard in your browser.
- Nova — Erlang web framework
- Arizona Core — Live view engine with compile-time template optimization
- Arizona Nova — Bridge between Arizona and Nova (WebSocket controller, PubSub)
- Data layer (
nova_liveboard_data) — Pure functions collecting VM metrics, supervision trees, scheduler wall time deltas, sparkline point generation - Views — Arizona views with
arizona_parse_transformfor compile-time template optimization - WebSocket — Thin wrapper around
arizona_nova_websocketwithflatten_replyto bridge Arizona's list-based frame replies to Nova's single-framehandle_wscallback - Routing — Nova router with WebSocket route defined after
/:pageto ensurerouting_treematches the exact/livepath before the binding
Apache-2.0