Skip to content

bazhenov/thread-counters

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

11 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

GitHub Release

thread-counters

A macOS CLI tool that reports per-thread P-core/E-core performance counters for any process on Apple Silicon.

For a given PID, it lists every thread with time spent on Performance and Efficiency cores, cycle/instruction counts, and IPC — without requiring sudo.

$ thread-counters `pgrep -x Safari`

           |                      PERFORMANCE                      |                      EFFICIENCY                       |
       TID |      usr      sys          cycles           insns IPC |      usr      sys          cycles           insns IPC |
     12801 |  1268.98   240.38   4326344607684   7641724509498 1.8 |   624.59   249.13   1555603231945   1082602205470 0.7 |
     12826 |    34.08    27.24    151211531442    167413362041 1.1 |    36.63    53.61    152207562562     82421607487 0.5 | com.apple.NSEventThread
     13024 |    13.03     5.99     45761945364     60040662643 1.3 |     8.27     4.61     22711518200     14297786796 0.6 | WebCore: Scrolling
     13115 |    54.96     4.52    165496321282    111265239139 0.7 |    62.91     5.03    106277481783     24443002616 0.2 | Log work queue
   4828619 |     0.05     0.02       137245479       170221028 1.2 |     1.60     0.50      2672949220      1871335051 0.7 | JavaScriptCore libpas scavenger

Why not taskinfo?

macOS ships with sudo taskinfo --threads --threadcounts=1 <pid> which reports basically the same info. This tool however:

  • doesn't require sudo if you're inspecting the process running under the same user
  • it has machine redable output, which is handy sometimes

Install

brew install bazhenov/tap/thread-counters

Usage

thread-counters <PID>
Flag Description
-H, --no-header Suppress the header line

Building from source

Requires Rust and macOS (Apple Silicon or Intel).

cargo install --path .

About

macOS cli reporting thread P/E performance counters on Apple Silicon

Resources

Stars

Watchers

Forks

Packages

 
 
 

Contributors

Languages