Here is a list of all documented files with brief descriptions:
| client_bw.h | Interface to access client bandwidth counters |
| cpuasynchcounter.h | Implementation of a POSIX thread that periodically saves the current state of counters and exposes them to other threads |
| cpucounters.cpp | The bulk of Intel PCM implementation |
| cpucounters.h | Main CPU counters header |
| msr.h | Low level interface to access hardware model specific registers |
| pci.h | Low level interface to access PCI configuration space |
| pcm-memory.cpp | Example of using CPU counters: implements a performance counter monitoring utility for memory controller channels |
| pcm-numa.cpp | Example of using CPU counters: implements a performance counter monitoring utility for NUMA (remote and local memory accesses counting). Example for programming offcore response events |
| pcm-pcie.cpp | Example of using uncore CBo counters: implements a performance counter monitoring utility for monitoring PCIe bandwidth |
| pcm-sensor.cpp | Example of using CPU counters: implements a graphical plugin for KDE ksysguard |
| pcm-tsx.cpp | Example of using CPU counters: implements a performance counter monitoring utility for Intel Transactional Synchronization Extensions |
| pcm.cpp | Example of using CPU counters: implements a simple performance counter monitoring utility |
| realtime.cpp | Two use-cases: realtime data structure performance analysis and memory-bandwidth aware scheduling |
| types.h | Internal type and constant definitions |
| utils.h | Some common utility routines |
| width_extender.h | Provides 64-bit "virtual" counters from underlying 32-bit HW counters |