[This is preliminary documentation and subject to change]

CPULoggingMask

This property contains flags, as listed in the Flags section below, that specify which process accounting and throttling fields should be written to the IIS log file. All enabled fields will be written on every process accounting log. All values logged are for the reset interval in which the logging occurs.

note Note    Because process accounting in IIS uses Windows Job Objects to monitor CPU times for an entire process, process accounting will log and throttle only applications that are isolated in a separate process from IIS.

Attribute NameAttribute Value
Data TypeDWORD
AttributesINHERIT
Default ValueCPULoggingEnabled
MetaFlagsExCACHE_PROPERTY_MODIFIED
User TypeIIS_MD_UT_SERVER
StartingNumber
EndingNumber0
ID4507

Access Locations

This property is accessible at the following locations:

Metabase PathIIS Admin Object Type
/LM/W3SVC/2IIsWebServer
/LM/W3SVC/Info/Templates/Public Web SiteIIsWebServer
/LM/W3SVC/Info/Templates/Secure Web SiteIIsWebServer
/LM/W3SVCIIsWebService

IIS Admin Base Object Information

The following table lists additional information required only for code that uses the IIS Admin Base Object.

Metabase identifier
MD_NOTIFY_ORDER_MASK
Data typeDWORD
User typeIIS_MD_UT_SERVER

Flags

Process throttling and process accounting are independently controlled by several other metabase properties. In order to enable process accounting you must set CpuEnableLogging (which is a member of CpuLoggingMask) to TRUE, and set at least one other CpuLoggingMask property to TRUE. It is also necessary to set at least one member flag of the CPULoggingOptions, set CPULoggingInterval to a nonzero value, and set either CPUAppEnabled or CPUCGIEnabled, as appropriate, to TRUE.

To properly activate process throttling, CPULimitsEnabled must be set to TRUE, and at least one of the following properties should be set to TRUE: CPULimitLogEvent, CPULimitPriority, CPULimitProcStop, or CPULimitPause.

NameValueMetabase Bitmask IdentifierDescription
CPULoggingEnabled
2147483648 | 0x80000000
MD_CPU_ENABLE_LOGGING
Specifies whether process accounting is enabled for the Web service or server. Process accounting can log the amount of CPU time that is taken by a Web server or service, as well as any process throttling events that might occur.
CPUEnableEvent
1 | 0x01
MD_CPU_ENABLE_EVENT
Indicates whether the event (such as start, stop, and site process throttling) that triggered the creation of a log record is specified in the log record itself.
CPUEnableProcType
2 | 0x02
MD_CPU_ENABLE_PROC_TYPE
Determines whether process type is recorded when process accounting is performed.
CPUEnableUserTime
4 | 0x04
MD_CPU_ENABLE_USER_TIME
Determines if total user-mode CPU time is recorded when process accounting is performed. Setting this flag to True enables logging the total user CPU time, as a percentage of total CPU time, in 1/1000ths of a percent.
CPUEnableKernelTime
8 | 0x08
MD_CPU_ENABLE_KERNEL_TIME
This flag determines whether total kernel-mode CPU time is recorded when process accounting is performed. Setting this flag to True enables logging the total kernel CPU time, as a percentage of total CPU time, in 1/1000ths of a percent.
CPUEnablePageFaults
16 | 0x10
MD_CPU_ENABLE_PAGE_FAULTS
Setting this flag to True enables logging the total number of page faults when process accounting is performed.
CPUEnableTotalProcs
32 | 0x20
MD_CPU_ENABLE_TOTAL_PROCS
Setting this flag to True enables logging the total number of processes when process accounting is performed.
CPUEnableActiveProcs
64 | 0x40
MD_CPU_ENABLE_ACTIVE_PROCS
Setting this flag to True enables logging the total number of active processes when process accounting is performed.
CPUEnableTerminatedProcs
128 | 0x80
MD_CPU_ENABLE_TERMINATED_PROCS
Setting this flag to True enables logging the total number of terminated processes when process accounting is performed.

Related Topics

CPULoggingOptions

© 1997-2001 Microsoft Corporation. All rights reserved.