System Center 2012 Virtual Machine Manager Performance Counter Unit Monitor Type

Microsoft.SystemCenter.VirtualMachineManager.2012.Performance.ScriptBasedConsecutiveSamplesTwoThresholdsMonitorType (UnitMonitorType)

This monitor type is used to detect the CPU or memory utilization

Element properties:

RunAsDefault
AccessibilityInternal
Support Monitor RecalculateFalse

Member Modules:

ID Module Type TypeId RunAs 
DS DataSource Microsoft.Windows.TimedScript.PerformanceProvider Default
CDGreaterEqualCritical ConditionDetection System.Performance.ConsecutiveSamplesCondition Default
CDGreaterEqualWarning ConditionDetection System.Performance.ConsecutiveSamplesCondition Default
CDInSufficientSamples ConditionDetection System.ExpressionFilter Default
CDSufficientSamples ConditionDetection System.ExpressionFilter Default

Overrideable Parameters:

IDParameterTypeSelector
IntervalSecondsint$Config/IntervalSeconds$
WarningThresholdint$Config/WarningThreshold$
CriticalThresholdint$Config/CriticalThreshold$
NumSamplesint$Config/NumSamples$

Source Code:

<UnitMonitorType ID="Microsoft.SystemCenter.VirtualMachineManager.2012.Performance.ScriptBasedConsecutiveSamplesTwoThresholdsMonitorType" Accessibility="Internal">
<MonitorTypeStates>
<MonitorTypeState ID="ConditionSuccess" NoDetection="false"/>
<MonitorTypeState ID="ConditionWarn" NoDetection="false"/>
<MonitorTypeState ID="ConditionError" NoDetection="false"/>
</MonitorTypeStates>
<Configuration>
<xsd:element name="IntervalSeconds" type="xsd:integer"/>
<xsd:element name="TimeoutSeconds" type="xsd:integer"/>
<xsd:element name="WarningThreshold" type="xsd:integer"/>
<xsd:element name="CriticalThreshold" type="xsd:integer"/>
<xsd:element name="NumSamples" type="xsd:unsignedInt"/>
<xsd:element name="Arguments" type="xsd:string"/>
<xsd:element name="ScriptBody" type="xsd:string"/>
<xsd:element name="ObjectName" type="xsd:string"/>
<xsd:element name="CounterName" type="xsd:string"/>
<xsd:element name="InstanceName" type="xsd:string"/>
<xsd:element name="Value" type="xsd:string"/>
</Configuration>
<OverrideableParameters>
<OverrideableParameter ID="IntervalSeconds" Selector="$Config/IntervalSeconds$" ParameterType="int"/>
<OverrideableParameter ID="WarningThreshold" Selector="$Config/WarningThreshold$" ParameterType="int"/>
<OverrideableParameter ID="CriticalThreshold" Selector="$Config/CriticalThreshold$" ParameterType="int"/>
<OverrideableParameter ID="NumSamples" Selector="$Config/NumSamples$" ParameterType="int"/>
</OverrideableParameters>
<MonitorImplementation>
<MemberModules>
<DataSource ID="DS" TypeID="Windows!Microsoft.Windows.TimedScript.PerformanceProvider">
<IntervalSeconds>$Config/IntervalSeconds$</IntervalSeconds>
<SyncTime/>
<ScriptName>ConsecutiveSamplesTwoThresholds.vbs</ScriptName>
<Arguments>$Config/Arguments$</Arguments>
<ScriptBody><Script>$Config/ScriptBody$</Script></ScriptBody>
<TimeoutSeconds>$Config/TimeoutSeconds$</TimeoutSeconds>
<ObjectName>$Config/ObjectName$</ObjectName>
<CounterName>$Config/CounterName$</CounterName>
<InstanceName>$Config/InstanceName$</InstanceName>
<Value>$Data/Property[@Name='Utilization']$</Value>
</DataSource>
<ConditionDetection ID="CDGreaterEqualWarning" TypeID="SystemPerf!System.Performance.ConsecutiveSamplesCondition">
<Threshold>$Config/WarningThreshold$</Threshold>
<Direction>Greater</Direction>
</ConditionDetection>
<ConditionDetection ID="CDGreaterEqualCritical" TypeID="SystemPerf!System.Performance.ConsecutiveSamplesCondition">
<Threshold>$Config/CriticalThreshold$</Threshold>
<Direction>Greater</Direction>
</ConditionDetection>
<ConditionDetection ID="CDInSufficientSamples" TypeID="System!System.ExpressionFilter">
<Expression>
<SimpleExpression>
<ValueExpression>
<XPathQuery Type="Double">Value</XPathQuery>
</ValueExpression>
<Operator>Less</Operator>
<ValueExpression>
<Value Type="Double">$Config/NumSamples$</Value>
</ValueExpression>
</SimpleExpression>
</Expression>
</ConditionDetection>
<ConditionDetection ID="CDSufficientSamples" TypeID="System!System.ExpressionFilter">
<Expression>
<SimpleExpression>
<ValueExpression>
<XPathQuery Type="Double">Value</XPathQuery>
</ValueExpression>
<Operator>GreaterEqual</Operator>
<ValueExpression>
<Value Type="Double">$Config/NumSamples$</Value>
</ValueExpression>
</SimpleExpression>
</Expression>
</ConditionDetection>
</MemberModules>
<RegularDetections>
<RegularDetection MonitorTypeStateID="ConditionSuccess">
<Node ID="CDInSufficientSamples">
<Node ID="DS"/>
</Node>
</RegularDetection>
<RegularDetection MonitorTypeStateID="ConditionWarn">
<Node ID="CDSufficientSamples">
<Node ID="CDGreaterEqualWarning">
<Node ID="DS"/>
</Node>
</Node>
</RegularDetection>
<RegularDetection MonitorTypeStateID="ConditionError">
<Node ID="CDSufficientSamples">
<Node ID="CDGreaterEqualCritical">
<Node ID="DS"/>
</Node>
</Node>
</RegularDetection>
</RegularDetections>
</MonitorImplementation>
</UnitMonitorType>