1 ポイント 投稿者 GN⁺ 2025-02-01 | まだコメントはありません。 | WhatsAppで共有
  • Stats は、macOS のメニューバーで CPU、GPU、メモリ、ディスク、ネットワーク、バッテリー、センサー、Bluetooth デバイス、複数タイムゾーンの時計を監視できるアプリ
  • インストールは最新の Stats.dmg をダウンロードしてアプリケーションフォルダへ移動するか、Homebrew で brew install stats を実行して行える
  • 対応環境は正式リリース版の macOS 12 Monterey 以降 で、古いシステム向けのレガシーバージョンは別ダウンロードで提供される
  • メニューバーのアイコンが表示されない場合、macOS 26 の System Settings → Menu Bar のプライバシー制御で Stats を明示的に有効化する必要がある場合がある
  • Sensors と Bluetooth モジュールは比較的非効率で、これらを無効にすると一部環境では CPU 使用率と電力効率への影響を 最大 50% まで減らせる可能性がある

Stats が提供する機能

  • Stats は、macOS のシステム状態をメニューバーから確認できるようにするアプリケーション
  • 監視対象には次のものが含まれる
    • CPU 使用率

    • GPU 使用率

      • メモリ使用量
      • ディスク使用量
      • ネットワーク使用量
      • バッテリー残量
      • ファン制御
      • センサー情報: 温度、電圧、電力
      • Bluetooth デバイス
      • 複数タイムゾーンの時計

インストールと要件

  • 最新バージョンは Stats.dmg から入手可能
    • ダウンロードした Stats.dmg を開き、アプリをアプリケーションフォルダへ移動すればよい
  • Homebrew でのインストールにも対応
    • brew install stats
  • 古いシステム向けの レガシーバージョン別ダウンロード で提供される
  • 対応する macOS バージョンは正式リリース版の macOS 12 Monterey 以降

メニューバーとウィジェット関連の動作

  • メニューバーのアイコン順は Stats ではなく macOS が決定 する
    • Stats インストール後の最初の再起動後に順番が変わることがある
    • macOS Mojave 10.14 以降では、⌘ キーを押しながらアイコンを希望の位置へドラッグして順番を変更できる
  • Stats アイコンがメニューバーに表示されない場合、macOS 26 の新しいプライバシー制御が原因の可能性がある
    • 場所は System Settings → Menu Bar
    • Stats が実行中で、1 つ以上のモジュールとウィジェットが有効なのにアイコンが見えない場合は、この設定を確認する必要がある
    • 解決方法は Stats のトグルを ON にすること
    • 関連する詳細は issue #3120 にある
  • デスクトップウィジェットにデータが表示されない場合、Stats 側で通信がデフォルトで無効化されている
    • アプリとウィジェット間の通信を担当するシステムプロセス chronod の高いデータ負荷の問題が理由
    • 解決方法は Stats 設定で macOS widgets オプションを ON にすること
    • 関連する詳細は issue #2733 にある

パフォーマンス、センサー、ファン制御の制約

  • Stats は効率的に動作するよう設計されているが、一部データを定期的に読み取る処理はそれなりのコストがかかる
  • 各モジュールはそれぞれ異なる エネルギー影響 と CPU 使用コストを持つ
    • とくに Sensors と Bluetooth モジュールは最も非効率な部類に入る
    • これらのモジュールを無効化すると、一部環境では CPU 使用率と電力効率への影響を 最大 50% 減らせる可能性がある
  • ファン制御 はレガシーモード
    • アップデートや修正は提供されない
    • 古い Mac ではかなりうまく動作するため、アプリから削除はされていない
    • 修正や改善の PR は受け入れ可能だが、この機能をサポートする時間と余力はないとしている
  • CPU/GPU センサーはコア数や特定コアと直接関係していない
    • CPU/GPU センサーは CPU/GPU の 熱ゾーンセンサー
    • たとえば CPU は通常、効率コアクラスタと高性能コアクラスタに分かれており、各クラスタには複数の温度センサーがある
    • CPU Efficient Core 1 は単一の効率コアの温度ではなく、効率コアクラスタ内部にある温度センサーの 1 つを指す
    • Apple は新しい SoC ごとにセンサーキーを変更するため、適切なセンサーに対応する SMC 値の特定には時間がかかる

外部 API とネットワークリクエスト

  • Stats は一部 外部 API を使用する
  • 2 つの API はアップデート確認に使われる
  • グローバル IP アドレスを取得するには外部リクエストが必要
    • サードパーティの提供元を使いたくないため、自前のサーバーを使用している
  • このリクエストが気になるユーザーには選択肢がある
    • 外部サーバーなしで機能するようにする PR を提案できる
    • ネットワークフィルタリングアプリで 2 つのサーバーをブロックできる
    • ブロックするとアップデートを受け取れず、ネットワークモジュールでグローバル IP も確認できなくなる

issue 処理と貢献方法

  • アプリがクラッシュする場合、まず最新バージョンを使っているか確認する必要がある
    • すでにクラッシュ防止の修正がリリースされている可能性が高い
    • 最新バージョンでも問題がある場合は、公開中の issue を確認する必要がある
    • 既存 issue が問題を扱っていない場合にのみ、新しい issue を作成すべき
  • 返答なしで issue が閉じられた場合は、たいてい 重複 issue の可能性が高い
    • クローズ済み issue を検索すると既存の回答を見つけられる
  • 新機能の開発やバグ発見時の最初のステップは issue を作成すること
    • まず機能や問題を議論する必要がある
    • Pull request は既存 issue があり、議論が終わった後に作成すべき
    • 議論なしで作成された PR は自動的にクローズされる場合がある
    • 言語変更と、すでに大きな貢献をしていて実装方針がよく合っている貢献者は例外となることがある

言語とライセンス

  • Stats は English, Polski, Українська, Русский, 中文, Türkçe, 韓国語, German, Spanish, French, Italian, Japanese など複数の言語をサポートしている
  • 新しい言語の追加や既存翻訳の改善という形で貢献できる
  • ライセンスは MIT License

まだコメントはありません。

まだコメントはありません。