
Estudo de caso Personal project
Um monitor de sistema local que mostra para onde os seus programas estão a enviar dados.
- Cliente
- Personal project
- Tipo
- Utilitário de sistema
- Papel
- Design & desenvolvimento
- Ano
- 2026
01Visão geral
Um monitor de sistema pessoal para Linux: um único motor de recolha em Python por detrás de duas interfaces, um painel de terminal em ecrã inteiro e uma página web local, que cobrem CPU, memória, discos, rede, processos e as ligações ativas que cada programa mantém abertas.
02O problema
Saber o que o computador está a fazer neste momento costuma obrigar a saltar entre top, ss, df e um monitor de sistema do ambiente de trabalho. Nenhum deles responde, num só sítio, a que programa está a usar a máquina e com quem está a falar cada uma das suas ligações.
02A abordagem
Um motor de recolha pequeno, duas faces. Um coletor partilhado lê o sistema inteiro com psutil, e tanto o painel de terminal como a página web apresentam o mesmo snapshot. Só corre quando é chamado: sem daemon, sem serviço em segundo plano, e o servidor web escuta apenas em localhost.
03A construção
O que foi de facto construído
- 01
Um coletor partilhado assente em psutil: CPU por núcleo, memória e swap, utilização e I/O de disco, débitos de rede, todos os processos e todas as ligações estabelecidas, reunidos num único snapshot.
- 02
Um painel de terminal com Rich: vista em direto em ecrã inteiro, ordenação por CPU ou memória a partir do teclado, um modo de execução única e um registo opcional em JSON Lines.
- 03
Uma interface web sobre o servidor HTTP da biblioteca padrão do Python, limitada a localhost: uma thread de amostragem guarda cerca de três minutos de histórico, a página consulta um único endpoint JSON e um botão encerra o servidor.
- 04
Um front-end sem dependências nem passo de build, em HTML, CSS e JavaScript simples: indicadores desenhados com conic gradients, gráficos SVG escritos à mão, tabelas com pesquisa e ordenação, temas claro e escuro, e DNS inverso resolvido em segundo plano para que nenhuma consulta bloqueie a atualização.
Tecnologia
- Python
- psutil
- Rich
- JavaScript
- HTML
- CSS
- SVG
04A experiência





05Em que ponto está
Uma ferramenta pessoal funcional, que corre localmente em Linux e é iniciada a pedido. Não foi empacotada nem publicada.
