1 pontos por GN⁺ 2025-02-01 | 1 comentários | Compartilhar no WhatsApp
  • 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.dmg mais recente e movendo-o para a pasta Aplicativos, ou pelo Homebrew com brew 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.dmg baixado e mover o app para a pasta Aplicativos
  • 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

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 1 nã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
  • 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

 
GN⁺ 2025-02-01
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

    • Em um MBP Intel, quando algo fica preso em 100% de uso, há um alerta sonoro. É o barulho das ventoinhas
    • Exato. Uso o iStat Menus há anos e ele vale muito a pena
      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-...
    • Sempre gostei de deixar ferramentas assim ligadas. Graças a um gráfico contínuo visível em um canto, já encontrei bugs no meu próprio software
      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

    • O que mais uso é o about://peformance do Firefox
      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
    • Só agora descobri que o Activity Monitor.app também pode mostrar estatísticas úteis no Dock ao clicar com o botão direito no ícone e escolher no menu Dock Icon
    • Na prática, é mesmo uma cópia do iStat Menus. Só que é uma cópia muito bem-feita, e a encontrei quando me cansei de pagar o custo anual de upgrade do iStat
    • Comigo foi parecido. Eu deixava o iStat Menus sempre ligado, até ver quanto recurso ele usava para mostrar coisas que eu nem olhava de verdade, e desliguei
      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
    • O iStatsMenu também deixava o sistema instável. Enquanto estava rodando, ocorriam kernel panics aleatórios
      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

    • Por que precisa ver sempre?
  • 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/

    • Sim. Uso o MenuMeters há quase 10 anos. No mínimo, não sei como as pessoas vivem sem um indicador de largura de banda, e ele é realmente útil por vários motivos
    • Uso desde a época do Powerbook, então deve fazer uns 20 anos. Fico muito feliz que o fork continue vivo e dê para continuar usando
  • Assim que instalei isto, descobri imediatamente que o LegacyScreenSaver estava vazando 40 GB de memória

    • Se for um notebook da empresa, muitos vêm com protetores de tela para a arquitetura Intel, e o Apple Silicon pode ter relação com esse problema
  • Parece fortemente influenciado pelo iStat Menus, mas eu pago feliz há vários anos pelo https://bjango.com/mac/istatmenus/

    • O redesenho mais recente é bem ruim. Queria que trouxessem de volta os gráficos precisos de antes
    • Eu paguei por ele e também paguei por um upgrade uma vez, mas o Stats parece oferecer tudo com que me importo
    • Concordo com essa recomendação
      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
    • Nem consigo contar há quantos anos tenho uma licença da Bjango. É um software excelente
    • Uso o Stats há 4 anos e nunca tive problemas. Não vejo motivo para pagar quando existe uma opção gratuita e open source
  • 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ção
    Alé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

    • Se quiser reduzir o espaçamento da barra de menus do Mac, coloque isto no terminal
      defaults -currentHost write -globalDomain NSStatusItemSpacing -int 8
      defaults -currentHost write -globalDomain NSStatusItemSelectionPadding -int 8
      Para reverter, faça isto
      defaults -currentHost delete -globalDomain NSStatusItemSpacing
      defaults -currentHost delete -globalDomain NSStatusItemSelectionPadding
      Depois, faça logout e login novamente
    • No macOS, quando não há espaço, os ícones simplesmente não aparecerem é uma UX muito ruim. No mínimo deveria haver uma área de overflow
      Antigamente eu pagava pelo https://www.macbartender.com/ para ter esse recurso
    • Apps open source, especialmente os gratuitos, provavelmente não dão tanta atenção à experiência inicial de uso
  • 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

    • Isso está explicado no FAQ. Dizem que o módulo de Bluetooth é ineficiente, mas pode ser desligado