wspy – performance counters
I have enhanced wspy to read performance counters. It now has three different instrumentation methods:
- Reading ftrace logfiles from kernel subsystem. Currently reads the scheduler events for fork/exec/exit to construct process trees
- Reading /proc/stat on periodic basis (once per second) to monitor CPU user, system and idle times. Similar method could be extended to read disk (/proc/diskstats) and network (/proc/net/dev)
- Reading performance counters. Each core has its own counters and for now read slightly different counters on each of the first four coresm and then repeat round-robin fashion for higher core numbers
Some future directions are both to extend these subsystems to additional measurements and to make it all more configurable, perhaps with a set of config files and command options.
Below are examples of gnuplot graphs coming from wspy:
User and system time for all CPUs (total)
User and system time for all CPUs (separate)
User and system time for one CPU
Instructions per cycle for all CPUs
Instructions per cycle for one CPU
Branch prediction miss rate on one CPU
Branch rates on one CPU
Last level cache misses from one CPU
L1D cache miss ratio from one CPU
L1D cache activity
Comments
wspy – performance counters — No Comments
HTML tags allowed in your comment: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>