Hyper-V MPE 2012 R2 \% Guest Run Time

HyperVMPE2012R2.VirtualProcessor.GuestRunTime.Rule (Rule)

Knowledge Base article:

Summary

This monitor checks the processor utilization of guest, virtual computer processors. The "\Hyper-V Hypervisor Virtual Processor(*)\% Guest Run Time" performance counter is more accurate than using the "% Processor Time" counter within the virtual computer due to clock calculation drift.

Element properties:

TargetHyperVMPE2012R2.VirtualProcessor
CategoryPerformanceCollection
EnabledFalse
Instance NameHyper-V Hypervisor Virtual Processor
Counter Name\% Guest Run Time
Frequency300
Alert GenerateFalse
RemotableTrue

Member Modules:

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

Source Code:

<Rule ID="HyperVMPE2012R2.VirtualProcessor.GuestRunTime.Rule" Enabled="false" Target="HyperVMPE2012R2.VirtualProcessor" ConfirmDelivery="false" Remotable="true" Priority="Normal" DiscardLevel="100">
<Category>PerformanceCollection</Category>
<DataSources>
<DataSource ID="DS" TypeID="SPerf!System.Performance.OptimizedDataProvider">
<ComputerName>$Target/Host/Host/Host/Property[Type="MSWinLib!Microsoft.Windows.Computer"]/NetworkName$</ComputerName>
<CounterName>% Guest Run Time</CounterName>
<ObjectName>Hyper-V Hypervisor Virtual Processor</ObjectName>
<InstanceName>$Target/Property[Type="HyperVMPE2012R2.VirtualProcessor"]/VPName$</InstanceName>
<AllInstances>false</AllInstances>
<Frequency>300</Frequency>
<Tolerance>5</Tolerance>
<ToleranceType>Absolute</ToleranceType>
<MaximumSampleSeparation>10</MaximumSampleSeparation>
</DataSource>
</DataSources>
<WriteActions>
<WriteAction ID="WriteToDB" TypeID="MSSCLib!Microsoft.SystemCenter.CollectPerformanceData"/>
<WriteAction ID="WriteToDW" TypeID="SCDW!Microsoft.SystemCenter.DataWarehouse.PublishPerformanceData"/>
</WriteActions>
</Rule>