Stats, o monitor de sistema do macOS na barra de menu
(github.com/exelban)- Stats é um app que monitora CPU, GPU, memória, disco, rede, bateria, sensores, dispositivos Bluetooth e relógios com múltiplos fusos horários na barra de menu do macOS
- A instalação pode ser feita baixando o
Stats.dmgmais recente e movendo-o para a pasta Aplicativos, ou pelo Homebrew combrew install stats - O suporte cobre oficialmente o macOS 12 Monterey ou superior, e uma versão legada para sistemas mais antigos é oferecida em download separado
- Se o ícone na barra de menu não aparecer, talvez seja necessário ativar explicitamente o Stats no controle de privacidade de System Settings → Menu Bar do macOS 26
- Os módulos Sensors e Bluetooth são relativamente ineficientes, e desativá-los pode reduzir em alguns casos o uso de CPU e o impacto na eficiência energética em até 50%
Recursos oferecidos pelo Stats
- Stats é um aplicativo que permite verificar o estado do sistema do macOS pela barra de menu
- O monitoramento inclui o seguinte
-
Uso de CPU
-
Uso de GPU
- Uso de memória
- Uso de disco
- Uso de rede
- Nível de bateria
- Controle de ventoinhas
- Informações de sensores: temperatura, voltagem, energia
- Dispositivos Bluetooth
- Relógios com múltiplos fusos horários
-
Instalação e requisitos
- A versão mais recente pode ser baixada em Stats.dmg
- Basta abrir o
Stats.dmgbaixado e mover o app para a pasta Aplicativos
- Basta abrir o
- A instalação via Homebrew também é suportada
brew install stats
- A versão legada para sistemas mais antigos é oferecida em download separado
- A versão suportada do macOS é oficialmente o macOS 12 Monterey ou superior
Comportamento da barra de menu e dos widgets
- A ordem dos ícones na barra de menu é definida pelo macOS, não pelo Stats
- Depois de instalar o Stats, a ordem pode mudar após a primeira reinicialização
- No macOS Mojave 10.14 ou superior, é possível manter a tecla ⌘ pressionada e arrastar os ícones para a posição desejada
- Se o ícone do Stats não aparecer na barra de menu, o novo controle de privacidade do macOS 26 pode ser a causa
- O caminho é System Settings → Menu Bar
- Se o Stats estiver em execução e um ou mais módulos e widgets estiverem ativados, mas o ícone ainda não aparecer, é preciso verificar essa configuração
- A solução é ativar o botão de alternância do Stats
- Mais detalhes relacionados estão na issue #3120
- Se os dados não aparecerem nos widgets da área de trabalho, a comunicação do lado do Stats fica desativada por padrão
- O motivo é o problema de alta carga de dados do processo de sistema
chronod, responsável pela comunicação entre o app e os widgets - A solução é ativar a opção macOS widgets nas configurações do Stats
- Mais detalhes relacionados estão na issue #2733
- O motivo é o problema de alta carga de dados do processo de sistema
Limitações de desempenho, sensores e controle de ventoinhas
- O Stats tenta operar com eficiência, mas o trabalho de ler alguns dados periodicamente não tem custo desprezível
- Cada módulo tem impactos energéticos e custos de uso de CPU diferentes
- Em especial, os módulos Sensors e Bluetooth estão entre os mais ineficientes
- Desativar esses módulos pode, em alguns casos, reduzir em até 50% o uso de CPU e o impacto na eficiência energética
- O controle de ventoinhas está em modo legado
- Não recebe atualizações nem correções
- Como ainda funciona razoavelmente bem em Macs antigos, ele não foi removido do app
- Correções ou melhorias via PR podem ser aceitas, mas foi informado que não há tempo ou disponibilidade para dar suporte a esse recurso
- Os sensores de CPU/GPU não estão diretamente relacionados ao número de núcleos nem a um núcleo específico
- Os sensores de CPU/GPU são sensores de zona térmica da CPU/GPU
- Por exemplo, a CPU normalmente é dividida em um cluster de núcleos de eficiência e um cluster de núcleos de desempenho, e cada cluster tem vários sensores de temperatura
CPU Efficient Core 1não indica a temperatura de um único núcleo eficiente, e sim um dos sensores de temperatura dentro do cluster de núcleos eficientes- Como a Apple muda as chaves dos sensores a cada novo SoC, leva tempo para identificar quais valores SMC correspondem aos sensores corretos
APIs externas e requisições de rede
- O Stats usa algumas APIs externas
https://api.mac-stats.com: verificação de atualizações e consulta do endereço IP públicohttps://api.github.com: rota alternativa para verificação de atualizações
- As duas APIs são usadas para verificar atualizações
- É necessária uma requisição externa para obter o endereço IP público
- Como não se quer usar um provedor terceirizado, é usado um servidor próprio
- Usuários preocupados com essas requisições têm algumas opções
- Podem propor um PR para fazer o recurso funcionar sem servidores externos
- Podem bloquear os dois servidores com um app de filtragem de rede
- Se bloquearem, não poderão receber atualizações nem ver o IP público no módulo de rede
Tratamento de issues e forma de contribuição
- Se o app travar, primeiro é preciso verificar se a versão mais recente está em uso
- Há grande chance de que uma correção para evitar o crash já tenha sido lançada
- Se o problema continuar mesmo na versão mais recente, é preciso verificar as issues abertas
- Só se deve abrir uma nova issue quando nenhuma issue existente tratar do problema
- Quando uma issue é fechada sem resposta, em geral há uma grande chance de ser uma issue duplicada
- É possível encontrar a resposta existente pesquisando nas issues fechadas
- Ao desenvolver um novo recurso ou encontrar um bug, o primeiro passo é abrir uma issue
- É preciso discutir primeiro o recurso ou o problema
- Pull requests só devem ser abertos depois que houver uma issue existente e a discussão tiver sido concluída
- PRs abertos sem discussão podem ser fechados automaticamente
- Mudanças de idioma e contribuidores que já fizeram grandes contribuições e estão bem alinhados com a direção de implementação podem ser exceções
Idiomas e licença
- O Stats oferece suporte a vários idiomas, como English, Polski, Українська, Русский, 中文, Türkçe, coreano, German, Spanish, French, Italian, Japanese e outros
- É possível contribuir adicionando um novo idioma ou melhorando traduções existentes
- A licença é a MIT License
1 comentários
Comentários no Hacker News
Uso o Stats há anos para verificar CPU, GPU, memória e velocidades de upload/download da rede, e estou muito satisfeito
É ótimo para entender se processos que não encerraram estão presos em 100%, se meu código está de fato rodando na GPU, qual é a taxa de transferência da rede quando um download ou transferência trava, ou qual processo está baixando centenas de MB às escondidas
Dá uma sensação de segurança ver de relance, no topo, o que o computador está fazendo agora, então é difícil imaginar a barra de menus sem ele
Só de bater o olho nos gráficos e pensar “opa, isso não deveria estar acontecendo agora”, já encontrei algumas vezes problemas no sistema inteiro, e deu para detectar não só processos travados, mas também processos se comportando de forma estranha
Cheguei a escrever sobre essa situação antes em https://blogsystem5.substack.com/p/hard-disk-leds-and-noisy-...
Algo como: “Por que a CPU está em 100% sem motivo agora? Ah, depois de 10 minutos sem requisições ele entra em um loop infinito aqui…”
Antigamente, a ventoinha girando a 100% era um bom detector de bugs, mas os computadores de hoje são silenciosos demais, então é preciso ver com os olhos
Parece uma cópia do iStat Menus. Tive instalado por alguns anos até perceber um dia que quase nunca olhava, e os ícones só ocupavam espaço na barra de menus, então acabei removendo
Só configurar o Activity Monitor no Dock para mostrar CPU já é suficiente
Antes eu abria o Activity Monitor, mas toda vez que a ventoinha do notebook ligava a causa era o navegador. No monitor de desempenho do navegador dá para ver imediatamente qual aba é o problema, e normalmente apertar cmd-R na aba problemática faz tudo estabilizar de novo
Imagino que algum desenvolvedor JavaScript não tenha testado mantendo o próprio código aberto em uma aba por mais tempo do que o tempo necessário para testar as mudanças
Hoje deixo só o monitor de rede do Little Snitch, que uso às vezes quando realmente quero ver para onde o tráfego está indo
Talvez fosse problema de alguns módulos de exibição, não da configuração padrão, mas eu não estava disposto a rastrear a causa, então removi
De vez em quando tento instalar de novo, mas o sistema ainda morre. É mais uma decoração bonita
Parece bom. Antes eu pagava pelo iStat Menus, mas depois de comprar um notebook novo não consegui encontrar onde baixar a versão antiga para a qual eu tinha comprado licença
Pessoalmente, acho que o uso de CPU/memória/rede e os 5 principais apps que mais usam cada item deveriam estar sempre visíveis. Isso já deveria ser um recurso básico dos dispositivos de computação, e o fato de ainda não ser só beneficia software ruim que devora recursos ou agentes maliciosos
Não deveríamos precisar abrir o Activity Monitor toda vez para ver essas informações básicas. Pretendo testar
Lembra o MenuMeters. Era muito bom para mostrar métricas em tempo real, vários tipos de gráficos e diferentes intervalos de atualização
https://member.ipmu.jp/yuji.tachikawa/MenuMetersElCapitan/
Assim que instalei isto, descobri imediatamente que o LegacyScreenSaver estava vazando 40 GB de memória
Parece fortemente influenciado pelo iStat Menus, mas eu pago feliz há vários anos pelo https://bjango.com/mac/istatmenus/
Testei o Stats algumas vezes enquanto ele evoluía, mas acabo sempre voltando para o iStat Menus. O design do Stats também parece bastante inspirado no iStat Menus
Ainda assim, algo que agradeço no Stats é o suporte a mais valores de sensores SMC
Instalei com
brew, mas ele não apareceu na barra de menus. Depois de reiniciar o Mac, apareceu, mas agora estou com preguiça de abrir um PR para atualizar a documentaçãoAlém disso, só aparecia o widget de bateria e nenhum outro, então a experiência inicial foi confusa
No fim descobri que tudo estava escondido por causa da péssima UX de espaço da barra de menus do Mac. Não há nem indicação de que existem mais itens de menu. É uma decisão ruim de design do Mac
defaults -currentHost write -globalDomain NSStatusItemSpacing -int 8defaults -currentHost write -globalDomain NSStatusItemSelectionPadding -int 8Para reverter, faça isto
defaults -currentHost delete -globalDomain NSStatusItemSpacingdefaults -currentHost delete -globalDomain NSStatusItemSelectionPaddingDepois, faça logout e login novamente
Antigamente eu pagava pelo https://www.macbartender.com/ para ter esse recurso
Uso o iPulse(https://ipulseapp.com/) há quase 20 anos. Ele é bonito, então pessoas olhando minha tela ao lado vivem elogiando ou perguntando sobre ele, e não ocupa muito espaço na tela
Não tenho relação com o produto, mas recomendo fortemente
Quando usei o Stats pela última vez, uns 3 ou 4 meses atrás, ele consumia bem mais CPU que o iStats Menus
É um app pequeno e bom, mas no meu M2 MBA ele fazia o bluetoothd disparar e consumir até 40% de CPU