2000 provides two distinct sets of performance monitoring services.
The first is an interface for managing the collection and reporting
of performance data objects. (Although Windows 2000 calls various
sets of related performance statistics “objects,” you may
feel more comfortable thinking about them as records or record
types.) Associated with each object is a set of related
counters, in effect, numerical data fields. The
Windows 2000 operating system kernel is extensively instrumented, and
a wide range of detailed performance data is available on hardware
resource usage, operating system activity, and active processes and
threads across this interface. Besides the kernel, the I/O manager
and the various networking services like TCP/IP are also
The performance monitoring interface also defines a callable facility that allows a performance monitoring application (like the System Monitor) to retrieve the performance statistics that are collected. The API defines a set of data structures that are used to pass the performance statistics from the data collectors to performance monitoring applications.
The Win32 performance monitoring interface is both
extensible. That makes it possible for key applications and subsystems to add to the pool of available performance metrics. And, in fact, many of Microsoft’s internally developed applications already exploit this extensible interface, having added their own performance statistics ...