Painel observer

Observer

Enxergue sua BEAM

Painel observer ao vivo para aplicações Lx/BEAM, construído como uma UI web LiveView. Navegue pela árvore de aplicações, percorra a árvore de supervisão, inspecione e aja sobre qualquer processo e acompanhe o compilador — tudo em tempo real sobre WebSockets. Rode standalone ou monte dentro da sua app.

v0.1.0 ~80% completo

Highlights

  • Árvore de aplicações
  • Gerenciador de processos (aja ao vivo)
  • Árvore de supervisão
  • Visão do compilador
  • Dashboard + busca
  • Tempo real sobre WebSockets

Features

Aplicações

Inspecione aplicações OTP em execução, seus módulos e filhos, além do tipo de start e status permanent — o grafo de boot inteiro num relance.

Gerenciador de processos

Navegue por todo processo: estado, fila de mensagens, memória e links. Envie mensagens ou termine, ao vivo, sem ir para um shell.

Árvore de supervisão

Visualize a árvore de supervisão com estratégias de restart e child specs, pra ver exatamente como seu sistema se recupera.

Visão do compilador

Acompanhe o estado do compilador Lx — módulos, dependências e o que está sendo compilado agora.

Dashboard

Um panorama em tempo real: reductions, memória, run queue e contagem de processos, com busca pra pular pra qualquer coisa rápido.

UI ao vivo

Tudo atualiza sobre WebSockets com LiveView — sem polling, sem refresh, o painel reflete o nó conforme ele muda.

Examples

Rode standalone

$ lx observer
# abre o painel em http://localhost:8123

Monte dentro da sua app

# adicione o app lx_observer no project.yml, e no seu roteador:
routes = [
  {:scope, "/observer", :browser, [
    {:live, "/", :lx_observer_dashboard_live, :index}
  ]}
]

O que você faz ao vivo

# Pelo painel, sobre WebSockets, você pode:
#  - inspecionar qualquer processo: estado, memória, fila de msgs, links
#  - percorrer a árvore de supervisão + estratégias de restart
#  - navegar pelas aplicações e seus filhos
#  - buscar processos e módulos
#  - agir: enviar mensagem ou terminar um processo

Install

# embutido na toolchain do Lx
# rode contra qualquer nó BEAM:
$ lx observer