Observer dashboard

Observer

See your BEAM

Live observer dashboard for Lx/BEAM applications, built as a LiveView web UI. Browse the applications tree, walk the supervisor tree, inspect and act on any process, and watch the compiler — all in real time over WebSockets. Run it standalone or mount it inside your app.

v0.1.0 ~80% complete

Highlights

  • Applications tree
  • Process manager (act live)
  • Supervisor tree
  • Compiler view
  • Dashboard + search
  • Real-time over WebSockets

Features

Applications

Inspect running OTP applications, their modules and children, plus start type and permanent status — the whole boot graph at a glance.

Process manager

Browse every process: state, message queue, memory and links. Send messages or terminate, live, without dropping to a shell.

Supervisor tree

Visualize the supervision tree with restart strategies and child specs, so you see exactly how your system heals.

Compiler view

Watch the Lx compiler state — modules, dependencies and what is being compiled right now.

Dashboard

A real-time overview: reductions, memory, run queue and process count, with search to jump to anything fast.

Live UI

Everything updates over WebSockets with LiveView — no polling, no refresh, the dashboard reflects the node as it changes.

Examples

Run standalone

$ lx observer
# opens the dashboard at http://localhost:8123

Mount inside your app

# add the lx_observer app to project.yml, then in your router:
routes = [
  {:scope, "/observer", :browser, [
    {:live, "/", :lx_observer_dashboard_live, :index}
  ]}
]

What you can do live

# From the dashboard, over WebSockets, you can:
#  - inspect any process: state, memory, message queue, links
#  - walk the supervisor tree + restart strategies
#  - browse applications and their children
#  - search processes and modules
#  - act: send a message or terminate a process

Install

# built into the Lx toolchain
# run against any BEAM node:
$ lx observer