The Intel® Performance Counter Monitor (Intel® PCM: www.intel.com/software/pcm) is an open-source tool set based on an API. This API can be used directly by developers in their software. Besides the API usage example in the article, other samples of code using the API can be found in pcm.cpp, pcm-tsx.cpp, pcm-power.cpp, pcm-memory.cpp and other sample tools contained in Intel PCM package.
An important resource for learning about Intel PCM API can be found in the embedded Doxygen documentation. For example it lists all functions to extract available processor metrics supported by Intel PCM. Generating HTML browsable documentation with Doxygen from the source code is very easy: a Doxygen project file is already in Intel PCM package and most of the source code is annotated with Doxygen tags (description of function parameters, return values, etc).
Here are the steps to generate the documentation:
- Download doxygen tool for your operating system from www.doxygen.org (Doxygen is available on many operating systems including Windows, Linux, MacOS X, etc)
- Run doxygen in the Intel PCM directory
- Open generated html/classPCM.html in your favourite browser
- Click on the classes and structure of your interest, browse class hierarchies, functions implementing access to processor metrics, etc
For the current Intel PCM 2.6, there is already documentation made available here.