Watt-Admin | CPUProfile | Performance | Node.js
- Watt-Admin | CPUProfile | Performance | Node.js
🔍 O que é o Watt Admin?
O Watt Admin é uma ferramenta open-source de monitoramento e administração de aplicações Node.js, projetada para funcionar com o ecossistema Platformatic. Ela fornece visibilidade em tempo real de métricas, logs e desempenho dos seus serviços Node.js diretamente em um painel intuitivo. (Socket)
É ideal para:
- Desenvolvedores analisarem desempenho localmente
- Identificar gargalos com profiling de CPU/heap
- Coletar dados para análises posteriores
- Compartilhar informações com a equipe
📦 Funcionalidades Principais
📊 Métricas de Desempenho
O painel mostra:
- Uso de CPU
- Uso de memória (heap, RSS)
- Percentis de latência (P90, P95, P99)
- Taxa de requisições por segundo Tudo com gráficos interativos. (Socket)
📜 Logs Centralizados
Você pode:
- Visualizar logs de várias aplicações
- Filtrar por serviço ou nível de log (info, erro, debug)
- Alternar entre JSON bruto e visual formatado Esses logs ajudam a depurar mais rápido. (Socket)
🛠️ Controle de Serviços
No painel é possível:
- Ver o estado de cada runtime
- Entrar nos detalhes de métricas por serviço
- Reiniciar serviços direto pelo dashboard Essas ações facilitam o desenvolvimento e troubleshooting. (Socket)
🧠 Profiling e Gravação
Você pode capturar perfis de:
- CPU
- Heap (memória) Esses perfis podem ser salvos como bundles HTML para análise offline ou compartilhamento com colegas. (Socket)
🚀 Instalação
💡 Executar sem instalar globalmente (recomendado)
Execute:
npx wattpm admin
Isso inicia o Watt Admin e abre o dashboard em http://localhost:4042 automaticamente. (Socket)
📦 Instalar globalmente
Se quiser ter o comando disponível sempre:
npm install -g @platformatic/watt-admin
Depois execute:
watt-admin
Isso inicia a interface e detecta automatiquement seus runtimes Platformatic em execução. (Socket)
🧪 Exemplo de Uso (Passo a Passo)
1. Iniciar sua aplicação Node com Platformatic
Supondo que você tenha uma API ou runtime Platformatic rodando:
npm start
# ou
wattpm start
Ele deve ficar ativo e pronto para ser monitorado. (Socket)
2. Rodar o Watt Admin
Com sua aplicação rodando:
npx wattpm admin
ou, se instalado globalmente:
watt-admin
👉 Aparecerá um prompt com as aplicações detectadas. Escolha aquela que quer monitorar e veja as métricas em tempo real. (Socket)
⚙️ Opções Úteis
🛠️ Usar uma porta customizada
watt-admin --port 4321
Isso inicia o dashboard em outra porta — útil se 4042 já estiver ocupada. (Socket)
🎥 Modo de Gravação (Profiling)
Capture dados e perfis usando:
🔹 CPU
watt-admin --record --profile cpu
🔹 Heap
watt-admin --record --profile heap
Quando terminar (Ctrl+C), o Watt Admin gera um arquivo HTML com os dados completos para análise fora da ferramenta. (Socket)
🧠 Casos de Uso Práticos
✅ Desenvolvimento local
Monitore mudanças de código e veja como elas impactam performance sem precisar de dashboards externos.
🐛 Debugging
Localize vazamentos de memória ou picos de CPU com dados detalhados de profiling.
📤 Compartilhamento com a equipe
Os bundles HTML gerados facilitam análises em conjunto em code reviews ou reuniões técnicas.
📈 Observabilidade básica
Para projetos pequenos ou médios, o Watt Admin já oferece uma visão abrangente sem infraestrutura de observabilidade. (Socket)
📁 Estrutura Interna do Projeto
Dentro do repositório do Watt Admin, você encontrará:
watt-admin/
├── cli.js # Entrada da interface de comandos
├── lib/ # Código principal do CLI
├── web/
│ ├── backend/ # Servidor Fastify (API interna)
│ └── frontend/ # Dashboard React
├── watt.json # Configuração do Wattpm
└── test/ # Testes automatizados
Essa estrutura permite o desenvolvimento e expansão da ferramenta. (GitHub)
💻 Desenvolvimento
Se quiser contribuir ou testar localmente:
git clone https://github.com/platformatic/watt-admin.git
cd watt-admin
npm install
cp .env.sample .env
npm run dev
Isso ativa recarga automática e você pode ver mudanças em tempo real. (Socket)
📌 Conclusão
O Watt Admin é uma solução leve e ágil para monitorar aplicações Node.js construídas com o ecossistema Platformatic. Ele traz métricas de performance, logs centralizados, perfil de CPU/heap, e uma interface prática para desenvolvimento e troubleshooting — tudo sem necessidade de sistemas de observabilidade mais complexos. (Socket)