Extensible Performance Counter List utility ( ExCtrLst.EXE) The Extensible Counter List utility is used to obtain information on the Extensible Performance Counter DLL's that have been installed on a Windows NT system. This application can be used for informational as well as troubleshooting purposes by listing the services and applications that provide performance information via the Windows NT Registry. What are Extensible Performance Counters? The Windows NT Operating System is thoroughly instrumented to measure many aspects of the Operating System's performance and status. These measurements are collected by the Windows NT Performance Registry and conveniently displayed by using the Windows NT Performance Monitor (PERFMON.EXE). To enable device drivers, system services and applications to display performance data in the Windows NT Performance Monitor along with the standard system measurements, there is an interface published for software developers of these programs to provide this data to the Performance Registry. Once it can be read by the Performance Registry, it can then be viewed in the Performance Monitor. This application reads the registry to find the programs and devices that have registered an Extensible Performance Counter library. It is possible for a single Extensible Performance Counter library to provide performance information for several services or devices, or it may provide data for a single application. For each software component that is providing performance information, the following configuration items are required: DLL Name the name of the Dynamic Link Library (DLL) that contains the functions used by the performance registry. Open Procedure The function called once when the software component's performance interface is first started. This function is used to initialize the DLL. Collect Procedure The function called repeatedly to collect the current performance data from the software component. Close Procdure The function that is called when the performance data from this software component is no longer needed. Counter & Help ID's The strings used to identify the counter and object names are stored in the registry and referenced by a numeric index. The index values for extensible counters are defined when the DLL is installed. This is usually during the application or services installation. NOTE: Some of the extensible counter DLL's have pre-assigned index values. The index values for those counters will not be displayed. Using ExCtrLst When the Extensible Counter List utility is started it will scan the registry on your system to see which applications, devices and services have registered extensible performance counter libraries. These libraries are listed in the list box of the display along with the corresponding service or application. Listed below is a brief explanation of the different fields displayed in the dialog box. Machine Name The name of the machine that the information is read from. This defaults to the local machine, however, you can view any machine on the network you have permission to read the registry. Refresh When this button is pressed, the registry information for the selected machine is re-read and the contents of the display are updated. Sort Order This determines the order of the items displayed in the list box just below. The default sort order is By Library Name. If the By Service Name button is selected, then the list is displayed in alphabetical order by the name of the service entry in the registry. Extensible Performance Counters This is the list box that contains the names of the services providing performance counters and the DLL that is providing this information. The contents of columns in this list box are determined by the Sort Order selection. If the sort order is By Library Name, then the left column will contain the DLL file name and the right column will contain the service key entry of the service providing performance data. If the sort order is By Service Name then the left column will contain the service key entry of the service providing the performance data and the right column will contain the DLL file name. DLL Name The entry found in the registry for the DLL file that the Windows NT performance library is to load for the performance data provided by this service. For this to function correctly, either the fully qualified path to the DLL must be provided in this field or the file must be in the system's path. If this DLL file is not found in the system, the performance registry will log an error in the system's Application Event Log. Open Procedure The name of the function that is found in the DLL file which performs the initialization of the performance functions for this service. This function must be exported by the DLL and return a successful status for the performance registry to collect performance data from this service. If this function is not found in the DLL or returns an error, the performance registry will log an error in the system's Application Event Log. Collect Procedure The name of the function that is found in the DLL file which performs the actual collection of the service's performance data. This function is called by the performance registry each time an application program requests performance data. This is most commonly done by the Performance Monitor (PERFMON). If this function could not be found in the DLL, or has a fault or causes an error, the performance registry will log an error in the system's Application Event Log. Close Procedure The name of the function that is found in the DLL file which performs any termination or clean-up when the application requesting performance data closes the interface to the performance registry. If this function could not be found in the DLL, the performance registry will log an error in the system's Application Event Log. Counter ID Range When the Extensible Performance Counter DLL is installed, it is assigned a range of Index values for its object and counter name strings. The values that were assigned during installation are displayed here. These values must relate correctly to the entries found in the HKEY_LOCAL_MACHINE\Software\Microsoft\Windows NT\CurrentVersion\Perflib\\Counter MSZ String entry or the counters and or objects described for this service will not appear in the Performance Monitor. Note that in the above string corresponds to the specific entry for the default language on the machine. 009 = English, for example. If the value in this field is "N/A" then this service uses pre-assigned index values and this entry is Not Applicable. If the value in this field is "Not Found" then there is a problem with the entry for this service and it's counters will not appear in the Performance Monitor Help ID Range When the Extensible Performance Counter DLL is installed, it is assigned a range of Index values for its object and counter explain text strings that correspond to the corresponding counter or object name string index + 1. The values that were assigned during installation are displayed here. These values must relate correctly to the entries found in the HKEY_LOCAL_MACHINE\Software\Microsoft\Windows NT\CurrentVersion\Perflib\\Help MSZ String entry or the counters and or objects described for this service will not appear in the Performance Monitor. Note that in the above string corresponds to the specific entry for the default language on the machine. 009 = English, for example. If the value in this field is "N/A" then this service uses pre-assigned index values and this entry is Not Applicable. If the value in this field is "Not Found" then there is a problem with the entry for this service and it's counters will not appear in the Performance Monitor