Performance Monitor Data from Python

The Python Win32 Extensions include support for providing Performance Monitor information. This support consists of the perfmon module that your application uses to define the counters and provide the counter data. A DLL named perfmondata.dll is supplied as the Performance Monitor DLL; this is the DLL that the Performance Monitor loads to acquire your performance data.

Installing Performance Monitor information

As mentioned previously, it’s necessary to register with the Performance Monitor when your application is installed. To install Performance Monitor information, you must provide the following information:

  • The name of a C header (.h) file providing information about the counters

  • The name of a Windows INI file providing the definitions of the counters

  • The name of the DLL providing Performance Monitor information

This information is necessary only at installation time: the .h and .ini files aren’t required at runtime. The Performance Monitor APIs are very much C and C++ focussed, hence the requirement for the .h file. Often, this .h file would be included in the C/C++ project, but as we are using Python, we need to author a .h file that’s used only for the installation process.

The header file contains #define statements for each counter. Each #define lists the offset of the specific counter in two-byte multiples. The offset zero defines the object itself.

For our sample, we provide two counters, connections per second and the bytes received ...

Get Python Programming On Win32 now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.