Hyper-V - Collect VM Measured Average Disk Latency

QND.Hyperv.2012R2.VMDiskLatency.Rule (Rule)

Element properties:

TargetQND.Hyperv.2012R2.VM
CategoryPerformanceCollection
EnabledTrue
Alert GenerateFalse
RemotableTrue

Member Modules:

ID Module Type TypeId RunAs 
DS DataSource QND.Hyperv2012R2.GetVMMeasuresPerf.Opti.DS Default
Filter ConditionDetection QND.Hyperv.2012R2.DeltaAbsAndFilter Default
CollectToDB WriteAction Microsoft.SystemCenter.CollectPerformanceData Default
CollectToDW WriteAction Microsoft.SystemCenter.DataWarehouse.PublishPerformanceData Default

Source Code:

<Rule ID="QND.Hyperv.2012R2.VMDiskLatency.Rule" Target="QND.Hyperv.2012R2.VM" Enabled="true" ConfirmDelivery="false" Remotable="true" Priority="Normal" DiscardLevel="100">
<Category>PerformanceCollection</Category>
<DataSources>
<DataSource ID="DS" TypeID="QND.Hyperv2012R2.GetVMMeasuresPerf.Opti.DS">
<IntervalSeconds>3600</IntervalSeconds>
<SyncTime/>
<TimeoutSeconds>300</TimeoutSeconds>
<TraceLevel>2</TraceLevel>
<ResetDays>30</ResetDays>
<ObjectName>Virtual Machine</ObjectName>
<CounterName>Average Disk Latency</CounterName>
<InstanceProperty>VMId</InstanceProperty>
<ValueProperty>AvgDiskLatency</ValueProperty>
<Type>VM</Type>
<Tolerance>0</Tolerance>
<ToleranceType>Absolute</ToleranceType>
<MaximumSampleSeparation>1</MaximumSampleSeparation>
</DataSource>
</DataSources>
<ConditionDetection ID="Filter" TypeID="QND.Hyperv.2012R2.DeltaAbsAndFilter">
<NumSamples>2</NumSamples>
<InstanceFilter>$Target/Property[Type='QND.Hyperv.2012R2.VM']/VirtualMachineId$</InstanceFilter>
</ConditionDetection>
<WriteActions>
<WriteAction ID="CollectToDB" TypeID="SC!Microsoft.SystemCenter.CollectPerformanceData"/>
<WriteAction ID="CollectToDW" TypeID="MSDL!Microsoft.SystemCenter.DataWarehouse.PublishPerformanceData"/>
</WriteActions>
</Rule>