Logical Processor \% Processor Time Windows Server 2016 and above

Microsoft.Windows.Server.10.0.LogicalProcessor.PercentProcessorTime.Collection (Rule)

Collects the performance counter Processor\\% Processor Time

Knowledge Base article:

Summary

This rule collects performance data for the Processor\% Processor Time performance counter of Logical Processor.

The Processor\% Processor Time performance counter exposes the percentage of elapsed time that the logical processor spends to execute a non-Idle thread. It is calculated by measuring the duration of the idle thread is active in the sample interval, and subtracting that time from interval duration. (Each logical processor has an idle thread that consumes cycles when no other threads are ready to run). This counter is the primary indicator of logical processor activity, and displays the average percentage of busy time observed during the sample interval. It is calculated by monitoring the time that the service is inactive, and subtracting that value from 100%.

Element properties:

TargetMicrosoft.Windows.Server.10.0.LogicalProcessor
CategoryPerformanceCollection
EnabledTrue
Instance NameProcessor
Counter Name\% Processor Time
Frequency300
Alert GenerateFalse
RemotableTrue

Member Modules:

ID Module Type TypeId RunAs 
PerformanceDS DataSource System.Performance.OptimizedDataProvider Default
WriteToDB WriteAction Microsoft.SystemCenter.CollectPerformanceData Default
WriteToDW WriteAction Microsoft.SystemCenter.DataWarehouse.PublishPerformanceData Default

Source Code:

<Rule ID="Microsoft.Windows.Server.10.0.LogicalProcessor.PercentProcessorTime.Collection" Enabled="true" Target="ServervNext!Microsoft.Windows.Server.10.0.LogicalProcessor">
<Category>PerformanceCollection</Category>
<DataSources>
<DataSource ID="PerformanceDS" TypeID="SystemPerf!System.Performance.OptimizedDataProvider">
<ComputerName>$Target/Host/Host/Property[Type="Windows!Microsoft.Windows.Computer"]/NetworkName$</ComputerName>
<CounterName>% Processor Time</CounterName>
<ObjectName>Processor</ObjectName>
<InstanceName>$Target/Property[Type="ServervNext!Microsoft.Windows.Server.10.0.LogicalProcessor"]/PerfmonInstance$</InstanceName>
<AllInstances>false</AllInstances>
<Frequency>300</Frequency>
<Tolerance>5</Tolerance>
<ToleranceType>Absolute</ToleranceType>
<MaximumSampleSeparation>12</MaximumSampleSeparation>
</DataSource>
</DataSources>
<WriteActions>
<WriteAction ID="WriteToDB" TypeID="SC!Microsoft.SystemCenter.CollectPerformanceData"/>
<WriteAction ID="WriteToDW" TypeID="SCDW!Microsoft.SystemCenter.DataWarehouse.PublishPerformanceData"/>
</WriteActions>
</Rule>