1 points par GN⁺ 2025-02-01 | 1 commentaires | Partager sur WhatsApp
  • Stats est une app qui permet de surveiller le CPU, le GPU, la mémoire, le disque, le réseau, la batterie, les capteurs, les appareils Bluetooth et des horloges sur plusieurs fuseaux horaires depuis la barre des menus de macOS
  • L’installation peut se faire en téléchargeant la dernière version de Stats.dmg puis en la déplaçant dans le dossier Applications, ou via Homebrew avec brew install stats
  • Les systèmes pris en charge sont les versions officiellement publiées de macOS 12 Monterey et ultérieures ; des versions legacy pour les anciens systèmes sont proposées en téléchargement séparé
  • Si l’icône n’apparaît pas dans la barre des menus, il peut être nécessaire d’activer explicitement Stats dans les contrôles de confidentialité System Settings → Menu Bar de macOS 26
  • Les modules Sensors et Bluetooth sont relativement peu efficaces ; les désactiver peut, dans certains cas, réduire l’impact sur l’usage CPU et l’efficacité énergétique de jusqu’à 50 %

Fonctionnalités proposées par Stats

  • Stats est une application qui permet de consulter l’état du système macOS depuis la barre des menus
  • Les éléments surveillés incluent notamment :
    • Utilisation du CPU

    • Utilisation du GPU

      • Utilisation de la mémoire
      • Utilisation du disque
      • Utilisation du réseau
      • Niveau de batterie
      • Contrôle des ventilateurs
      • Informations des capteurs : température, tension, puissance
      • Appareils Bluetooth
      • Horloge sur plusieurs fuseaux horaires

Installation et prérequis

  • La dernière version est disponible via Stats.dmg
    • Il suffit d’ouvrir le Stats.dmg téléchargé et de déplacer l’app dans le dossier Applications
  • L’installation via Homebrew est également prise en charge
    • brew install stats
  • Les versions legacy pour les anciens systèmes sont proposées en téléchargement séparé
  • La version de macOS prise en charge est macOS 12 Monterey ou ultérieur, en version officiellement publiée

Comportement lié à la barre des menus et aux widgets

  • L’ordre des icônes dans la barre des menus n’est pas décidé par Stats, mais par macOS
    • L’ordre peut changer après le premier redémarrage suivant l’installation de Stats
    • Sous macOS Mojave 10.14 et ultérieur, il est possible de modifier l’ordre en maintenant la touche ⌘ enfoncée puis en faisant glisser l’icône à l’emplacement souhaité
  • Si l’icône de Stats n’apparaît pas dans la barre des menus, cela peut être dû aux nouveaux contrôles de confidentialité de macOS 26
    • L’emplacement est System Settings → Menu Bar
    • Si Stats est en cours d’exécution et qu’au moins un module et un widget sont activés, mais que l’icône reste invisible, il faut vérifier ce réglage
    • La solution consiste à activer le bouton Stats sur ON
    • Les détails associés se trouvent dans l’issue #3120
  • Si les données des widgets de bureau ne s’affichent pas, la communication est désactivée par défaut côté Stats
    • La raison est un problème de charge de données élevée du processus système chronod, qui gère la communication entre l’app et les widgets
    • La solution consiste à activer l’option macOS widgets dans les réglages de Stats
    • Les détails associés se trouvent dans l’issue #2733

Performances, capteurs et limites du contrôle des ventilateurs

  • Stats essaie de fonctionner efficacement, mais la lecture périodique de certaines données a un coût non négligeable
  • Chaque module a un impact énergétique et un coût CPU différents
    • Les modules Sensors et Bluetooth font partie des moins efficaces
    • Les désactiver peut, dans certains cas, réduire l’impact sur l’usage CPU et l’efficacité énergétique de jusqu’à 50 %
  • Le contrôle des ventilateurs est en mode legacy
    • Aucune mise à jour ni correction n’est fournie
    • Il n’a pas été retiré de l’app car il fonctionne plutôt bien sur les anciens Mac
    • Le projet indique pouvoir accepter des PR de correction ou d’amélioration, mais ne pas avoir le temps ni les ressources pour prendre en charge cette fonctionnalité
  • Les capteurs CPU/GPU ne sont pas directement liés au nombre de cœurs ni à un cœur spécifique
    • Les capteurs CPU/GPU sont des capteurs de zone thermique du CPU/GPU
    • Par exemple, le CPU est généralement divisé en clusters de cœurs efficients et de cœurs performants, et chaque cluster contient plusieurs capteurs de température
    • CPU Efficient Core 1 ne désigne pas la température d’un seul cœur efficient, mais l’un des capteurs de température à l’intérieur du cluster de cœurs efficients
    • Apple change les clés des capteurs à chaque nouveau SoC, si bien qu’il faut du temps pour identifier les valeurs SMC correspondant aux bons capteurs

API externes et requêtes réseau

  • Stats utilise certaines API externes
  • Les deux API sont utilisées pour vérifier les mises à jour
  • Une requête externe est nécessaire pour obtenir l’adresse IP publique
    • Le projet utilise son propre serveur afin d’éviter de recourir à un fournisseur tiers
  • Les utilisateurs que cette requête inquiète disposent de plusieurs options
    • Proposer une PR pour que la fonctionnalité fonctionne sans serveur externe
    • Bloquer les deux serveurs avec une app de filtrage réseau
    • En cas de blocage, il ne sera plus possible de recevoir les mises à jour ni de voir l’adresse IP publique dans le module réseau

Gestion des issues et mode de contribution

  • Si l’app plante, il faut d’abord vérifier que la dernière version est utilisée
    • Il est probable qu’un correctif anti-crash ait déjà été publié
    • Si le problème persiste avec la dernière version, il faut consulter les issues ouvertes
    • Il ne faut ouvrir une nouvelle issue que si aucune issue existante ne traite le problème
  • Lorsqu’une issue est fermée sans réponse, il s’agit généralement d’un doublon
    • Il est possible de trouver la réponse existante en recherchant parmi les issues fermées
  • Lors du développement d’une nouvelle fonctionnalité ou de la découverte d’un bug, la première étape consiste à ouvrir une issue
    • Il faut d’abord discuter de la fonctionnalité ou du problème
    • Une pull request ne doit être ouverte qu’après l’existence d’une issue et la fin de la discussion
    • Les PR ouvertes sans discussion peuvent être fermées automatiquement
    • Les changements de langue, ainsi que les contributeurs ayant déjà apporté une contribution importante et dont l’orientation d’implémentation est bien alignée, peuvent faire exception

Langues et licence

  • Stats prend en charge plusieurs langues, dont English, Polski, Українська, Русский, 中文, Türkçe, coréen, German, Spanish, French, Italian, Japanese
  • Il est possible de contribuer en ajoutant une nouvelle langue ou en améliorant une traduction existante
  • La licence est la MIT License

1 commentaires

 
GN⁺ 2025-02-01
Avis sur Hacker News
  • J’utilise Stats depuis des années pour surveiller le CPU, le GPU, la mémoire et les débits réseau en upload/download, et j’en suis très satisfait.
    C’est pratique pour voir si des processus qui ne se sont pas terminés sont bloqués à 100 %, si mon code tourne réellement sur le GPU, quel est le débit réseau quand un téléchargement ou un transfert se fige, ou quel processus télécharge discrètement des centaines de Mo.
    Ça donne une certaine tranquillité de voir d’un coup d’œil, en haut de l’écran, ce que fait l’ordinateur à l’instant T, au point qu’il m’est difficile d’imaginer la barre de menus sans lui.

    • Sur un MBP Intel, quand quelque chose reste bloqué à 100 % d’utilisation, il y a une alerte sonore. C’est le bruit des ventilateurs.
    • Exact. J’utilise iStat Menus depuis des années et c’est vraiment précieux.
      Rien qu’en jetant un œil aux graphiques et en me disant « tiens, ça ne devrait pas faire ça maintenant », j’ai repéré plusieurs problèmes système, pas seulement des processus bloqués, mais aussi des processus au comportement anormal.
      J’avais d’ailleurs écrit sur ce sujet ici : https://blogsystem5.substack.com/p/hard-disk-leds-and-noisy-...
    • J’ai toujours aimé garder ce genre d’outil activé. Le fait d’avoir un graphe continu visible dans un coin m’a déjà permis de trouver des bugs dans mes propres logiciels.
      Du genre : « Pourquoi le CPU est-il à 100 % sans raison ? Ah, au bout de 10 minutes sans requête, ça part dans une boucle infinie ici… »
      Avant, les ventilateurs à 100 % étaient un bon détecteur de bugs, mais les ordinateurs actuels sont tellement silencieux qu’il faut le voir à l’écran.
  • On dirait une copie d’iStat Menus. Je l’ai gardé installé pendant quelques années, puis un jour je me suis rendu compte que je ne le regardais presque jamais, et que ses icônes prenaient simplement de la place dans la barre de menus, donc je l’ai finalement supprimé.
    Configurer le Moniteur d’activité dans le Dock pour afficher le CPU me suffit.

    • Ce que j’utilise le plus souvent, c’est about://peformance de Firefox.
      Avant, j’ouvrais le Moniteur d’activité, mais chaque fois que les ventilateurs du portable se mettaient à tourner, la cause était toujours le navigateur. Avec le moniteur de performances du navigateur, on voit immédiatement quel onglet pose problème, et en général un cmd-R sur l’onglet fautif suffit à stabiliser les choses.
      J’ai l’impression qu’un développeur JavaScript n’a pas testé son code en laissant un onglet ouvert plus longtemps que le temps nécessaire à vérifier ses changements.
    • Je viens seulement de découvrir que Activity Monitor.app peut aussi afficher des statistiques utiles dans le Dock en faisant un clic droit sur son icône puis en choisissant dans le menu Dock Icon.
    • En fait, c’est bien une copie d’iStat Menus. Mais c’est une copie plutôt bien faite, que j’ai découverte quand j’en ai eu assez de payer le coût annuel de mise à niveau d’iStat.
    • J’ai eu une expérience similaire. Je laissais iStat Menus toujours actif, puis j’ai vu combien de ressources il consommait pour afficher des choses que je ne regardais même pas, et je l’ai désactivé.
      Aujourd’hui je ne garde que le moniteur réseau de Little Snitch, que j’utilise parfois pour voir où part réellement le trafic.
    • iStatsMenu rendait aussi mon système instable. J’avais des kernel panics aléatoires quand il tournait.
      C’était peut-être dû à certains modules d’affichage plutôt qu’à la configuration par défaut, mais je n’avais pas envie de remonter jusqu’à la cause, donc je l’ai supprimé.
      Je le réinstalle parfois, mais le système finit toujours par planter. C’est surtout un joli gadget.
  • Ça a l’air correct. Avant, je payais pour iStat Menus, mais après avoir acheté un nouveau portable, je n’ai pas réussi à retrouver où télécharger l’ancienne version pour laquelle j’avais acheté une licence.
    À titre personnel, je pense que l’utilisation CPU/mémoire/réseau et les 5 applications qui consomment le plus chaque ressource devraient toujours être visibles. Cela devrait être une fonction de base des appareils informatiques aujourd’hui ; le fait que ce ne soit toujours pas le cas ne profite qu’aux mauvais logiciels gourmands en ressources et aux acteurs malveillants.
    On ne devrait pas avoir à lancer le Moniteur d’activité à chaque fois pour voir ces informations de base. Je vais l’essayer.

    • Pourquoi faudrait-il toujours les voir ?
  • Ça me rappelle MenuMeters. C’était excellent pour afficher des métriques en temps réel, plusieurs types de graphiques et différents intervalles de rafraîchissement.
    https://member.ipmu.jp/yuji.tachikawa/MenuMetersElCapitan/

    • Très bien, oui. J’utilise MenuMeters depuis près de 10 ans. Je ne comprends même pas comment les gens font sans au moins un indicateur de bande passante, c’est vraiment utile pour plein de raisons.
    • Je l’utilise depuis l’époque des PowerBook, donc ça doit faire environ 20 ans. Je suis vraiment content qu’un fork soit encore maintenu et permette de continuer à l’utiliser.
  • Dès que je l’ai installé, j’ai immédiatement découvert que LegacyScreenSaver fuyait 40 Go de mémoire.

    • Si c’est un portable d’entreprise, il contient souvent des économiseurs d’écran pour l’architecture Intel, et Apple Silicon pourrait être lié à ce problème.
  • Ça semble très inspiré d’iStat Menus, que j’utilise depuis des années avec plaisir en payant : https://bjango.com/mac/istatmenus/

    • La dernière refonte est assez mauvaise. J’aimerais qu’ils remettent les anciens graphiques précis.
    • J’ai payé, et j’ai aussi payé une mise à niveau une fois, mais Stats semble fournir toutes les fonctions qui m’intéressent.
    • Je suis d’accord avec cette recommandation.
      J’ai essayé Stats plusieurs fois au fil de son évolution, mais je finis toujours par revenir à iStat Menus. Le design de Stats donne aussi clairement l’impression d’être assez inspiré d’iStat Menus.
      Cela dit, ce que j’apprécie chez Stats, c’est la prise en charge d’un plus grand nombre de valeurs de capteurs SMC.
    • Je ne saurais même plus dire depuis combien d’années j’ai une licence Bjango. C’est un excellent logiciel.
    • J’utilise Stats depuis 4 ans et je n’ai jamais eu de problème. Je ne vois pas pourquoi payer alors qu’il existe une solution open source gratuite.
  • Je l’ai installé avec brew, mais il n’apparaissait pas dans la barre de menus. Après avoir redémarré le Mac, il est apparu, mais j’ai la flemme de faire une PR pour mettre à jour la documentation maintenant.
    En plus, je ne voyais que le widget de batterie et pas les autres, ce qui rendait la première prise en main confuse.
    En fait, tout était masqué à cause de la mauvaise UX de macOS autour de l’espace dans la barre de menus. Il n’y a même pas d’indication qu’il existe d’autres éléments de menu. C’est une mauvaise décision de design de la part du Mac.

    • Si vous voulez réduire l’espacement de la barre de menus sur Mac, vous pouvez entrer ceci dans le terminal :
      defaults -currentHost write -globalDomain NSStatusItemSpacing -int 8
      defaults -currentHost write -globalDomain NSStatusItemSelectionPadding -int 8
      Pour revenir en arrière, faites ceci :
      defaults -currentHost delete -globalDomain NSStatusItemSpacing
      defaults -currentHost delete -globalDomain NSStatusItemSelectionPadding
      Puis déconnectez-vous et reconnectez-vous.
    • Le fait que les icônes disparaissent simplement quand il n’y a plus de place dans macOS est vraiment une mauvaise UX. Il devrait au minimum y avoir une zone de débordement.
      Avant, je payais pour https://www.macbartender.com/ afin d’avoir ce genre de fonction.
    • Les applications open source, surtout les applications open source gratuites, risquent de ne pas beaucoup se soucier de la première expérience utilisateur.
  • J’utilise iPulse (https://ipulseapp.com/) depuis près de 20 ans. C’est joli, les gens qui regardent mon écran à côté de moi le complimentent ou posent régulièrement des questions, et ça ne prend pas beaucoup de place à l’écran.
    Je n’ai aucun lien avec le projet, mais je le recommande vivement.

  • La dernière fois que j’ai essayé Stats, il y a 3 ou 4 mois, il consommait nettement plus de CPU qu’iStats Menus.

  • C’est une petite application sympathique, mais sur mon M2 MBA elle faisait s’emballer bluetoothd, qui montait jusqu’à 40 % de CPU.

    • C’est expliqué dans la FAQ. Le module Bluetooth est inefficace, mais il peut être désactivé.