Veeam VM Latency Analysis Monitor Type

Veeam.Virt.Extensions.VMware.AdvancedPerformance.VMLatencyAnalysis.3State3MetricMonitorType (UnitMonitorType)

Element properties:

RunAsDefault
AccessibilityInternal
Support Monitor RecalculateFalse

Member Modules:

ID Module Type TypeId RunAs 
DataSource DataSource Veeam.Virt.Extensions.VMware.VMStats.WMIDataSource Default
PA ProbeAction Veeam.Virt.Extensions.VMware.Monitoring.VMLatencyAnalysis.ScriptProbe Default
GreenFilter ConditionDetection System.ExpressionFilter Default
RedFilter ConditionDetection System.ExpressionFilter Default
YellowFilter ConditionDetection System.ExpressionFilter Default

Overrideable Parameters:

IDParameterTypeSelectorDisplay NameDescription
MemoryLatencyPctThresholdint$Config/MemoryLatencyPctThreshold$MemoryLatencyPctThreshold
CPULatencyPctThresholdint$Config/CPULatencyPctThreshold$CPULatencyPctThreshold

Source Code:

<UnitMonitorType ID="Veeam.Virt.Extensions.VMware.AdvancedPerformance.VMLatencyAnalysis.3State3MetricMonitorType" Accessibility="Internal">
<MonitorTypeStates>
<MonitorTypeState ID="Green" NoDetection="false"/>
<MonitorTypeState ID="Yellow" NoDetection="false"/>
<MonitorTypeState ID="Red" NoDetection="false"/>
</MonitorTypeStates>
<Configuration>
<IncludeSchemaTypes>
<SchemaType>System!System.ExpressionEvaluatorSchema</SchemaType>
</IncludeSchemaTypes>
<xsd:element minOccurs="1" name="MemoryLatencyPctThreshold" type="xsd:integer"/>
<xsd:element minOccurs="1" name="CPULatencyPctThreshold" type="xsd:integer"/>
<xsd:element minOccurs="1" name="FilterExpression" type="ExpressionType"/>
</Configuration>
<OverrideableParameters>
<OverrideableParameter ID="MemoryLatencyPctThreshold" Selector="$Config/MemoryLatencyPctThreshold$" ParameterType="int"/>
<OverrideableParameter ID="CPULatencyPctThreshold" Selector="$Config/CPULatencyPctThreshold$" ParameterType="int"/>
</OverrideableParameters>
<MonitorImplementation>
<MemberModules>
<DataSource ID="DataSource" TypeID="VeeamVEVMwareLib!Veeam.Virt.Extensions.VMware.VMStats.WMIDataSource">
<FilterExpression>$Config/FilterExpression$</FilterExpression>
</DataSource>
<ProbeAction ID="PA" TypeID="Veeam.Virt.Extensions.VMware.Monitoring.VMLatencyAnalysis.ScriptProbe">
<memoryLatencyPct>$Data/Property[@Name='memoryLatency']$</memoryLatencyPct>
<cpuLatencyPct>$Data/Property[@Name='cpuLatency']$</cpuLatencyPct>
<memoryLatencyPctThreshold>$Config/MemoryLatencyPctThreshold$</memoryLatencyPctThreshold>
<cpuLatencyPctThreshold>$Config/CPULatencyPctThreshold$</cpuLatencyPctThreshold>
<vmName>$Data/Property[@Name='vmName']$</vmName>
<hostName>$Data/Property[@Name='hostName']$</hostName>
</ProbeAction>
<ConditionDetection ID="GreenFilter" TypeID="System!System.ExpressionFilter">
<Expression>
<And>
<Expression>
<SimpleExpression>
<ValueExpression>
<XPathQuery Type="Double">Property[@Name='memoryLatency']</XPathQuery>
</ValueExpression>
<Operator>LessEqual</Operator>
<ValueExpression>
<Value Type="Double">$Config/MemoryLatencyPctThreshold$</Value>
</ValueExpression>
</SimpleExpression>
</Expression>
<Expression>
<SimpleExpression>
<ValueExpression>
<XPathQuery Type="Double">Property[@Name='cpuLatency']</XPathQuery>
</ValueExpression>
<Operator>LessEqual</Operator>
<ValueExpression>
<Value Type="Double">$Config/CPULatencyPctThreshold$</Value>
</ValueExpression>
</SimpleExpression>
</Expression>
</And>
</Expression>
</ConditionDetection>
<ConditionDetection ID="YellowFilter" TypeID="System!System.ExpressionFilter">
<Expression>
<Or>
<Expression>
<And>
<Expression>
<SimpleExpression>
<ValueExpression>
<XPathQuery Type="Double">Property[@Name='memoryLatency']</XPathQuery>
</ValueExpression>
<Operator>Greater</Operator>
<ValueExpression>
<Value Type="Double">$Config/MemoryLatencyPctThreshold$</Value>
</ValueExpression>
</SimpleExpression>
</Expression>
<Expression>
<SimpleExpression>
<ValueExpression>
<XPathQuery Type="Double">Property[@Name='cpuLatency']</XPathQuery>
</ValueExpression>
<Operator>LessEqual</Operator>
<ValueExpression>
<Value Type="Double">$Config/CPULatencyPctThreshold$</Value>
</ValueExpression>
</SimpleExpression>
</Expression>
</And>
</Expression>
<Expression>
<And>
<Expression>
<SimpleExpression>
<ValueExpression>
<XPathQuery Type="Double">Property[@Name='memoryLatency']</XPathQuery>
</ValueExpression>
<Operator>LessEqual</Operator>
<ValueExpression>
<Value Type="Double">$Config/MemoryLatencyPctThreshold$</Value>
</ValueExpression>
</SimpleExpression>
</Expression>
<Expression>
<SimpleExpression>
<ValueExpression>
<XPathQuery Type="Double">Property[@Name='cpuLatency']</XPathQuery>
</ValueExpression>
<Operator>Greater</Operator>
<ValueExpression>
<Value Type="Double">$Config/CPULatencyPctThreshold$</Value>
</ValueExpression>
</SimpleExpression>
</Expression>
</And>
</Expression>
</Or>
</Expression>
</ConditionDetection>
<ConditionDetection ID="RedFilter" TypeID="System!System.ExpressionFilter">
<Expression>
<And>
<Expression>
<SimpleExpression>
<ValueExpression>
<XPathQuery Type="Double">Property[@Name='memoryLatency']</XPathQuery>
</ValueExpression>
<Operator>Greater</Operator>
<ValueExpression>
<Value Type="Double">$Config/MemoryLatencyPctThreshold$</Value>
</ValueExpression>
</SimpleExpression>
</Expression>
<Expression>
<SimpleExpression>
<ValueExpression>
<XPathQuery Type="Double">Property[@Name='cpuLatency']</XPathQuery>
</ValueExpression>
<Operator>Greater</Operator>
<ValueExpression>
<Value Type="Double">$Config/CPULatencyPctThreshold$</Value>
</ValueExpression>
</SimpleExpression>
</Expression>
</And>
</Expression>
</ConditionDetection>
</MemberModules>
<RegularDetections>
<RegularDetection MonitorTypeStateID="Green">
<Node ID="GreenFilter">
<Node ID="DataSource"/>
</Node>
</RegularDetection>
<RegularDetection MonitorTypeStateID="Yellow">
<Node ID="PA">
<Node ID="YellowFilter">
<Node ID="DataSource"/>
</Node>
</Node>
</RegularDetection>
<RegularDetection MonitorTypeStateID="Red">
<Node ID="PA">
<Node ID="RedFilter">
<Node ID="DataSource"/>
</Node>
</Node>
</RegularDetection>
</RegularDetections>
</MonitorImplementation>
</UnitMonitorType>