Three State Monitor

Microsoft.MSMQ.6.3.MonitorType.QueueStatistic.ThreeState (UnitMonitorType)

Element properties:

RunAsDefault
AccessibilityPublic
Support Monitor RecalculateFalse

Member Modules:

ID Module Type TypeId RunAs 
DS DataSource Microsoft.MSMQ.6.3.DataSource.Queue.Statistics.PropertyBag Default
FilterGreaterThanErrorThreshold ConditionDetection System.ExpressionFilter Default
FilterGreaterThanWarningThreshold ConditionDetection System.ExpressionFilter Default
FilterLessThanThreshold ConditionDetection System.ExpressionFilter Default

Overrideable Parameters:

IDParameterTypeSelectorDisplay NameDescription
IntervalSecondsint$Config/IntervalSeconds$Interval Seconds
WarningThresholdValuedouble$Config/WarningThresholdValue$Warning Threshold Value
ErrorThresholdValuedouble$Config/ErrorThresholdValue$Error Threshold Value
LogDetailbool$Config/LogDetail$Log Detail
TimeoutSecondsint$Config/TimeoutSeconds$Timeout Seconds

Source Code:

<UnitMonitorType ID="Microsoft.MSMQ.6.3.MonitorType.QueueStatistic.ThreeState" Accessibility="Public">
<MonitorTypeStates>
<MonitorTypeState ID="ErrorState" NoDetection="false"/>
<MonitorTypeState ID="WarningState" NoDetection="false"/>
<MonitorTypeState ID="SuccessState" NoDetection="false"/>
</MonitorTypeStates>
<Configuration>
<xsd:element xmlns:xsd="http://www.w3.org/2001/XMLSchema" minOccurs="1" name="IntervalSeconds" type="xsd:integer"/>
<xsd:element xmlns:xsd="http://www.w3.org/2001/XMLSchema" minOccurs="1" name="ComputerName" type="xsd:string"/>
<xsd:element xmlns:xsd="http://www.w3.org/2001/XMLSchema" minOccurs="1" name="QueuePath" type="xsd:string"/>
<xsd:element xmlns:xsd="http://www.w3.org/2001/XMLSchema" minOccurs="1" name="CounterName" type="xsd:string"/>
<xsd:element xmlns:xsd="http://www.w3.org/2001/XMLSchema" minOccurs="1" name="LogDetail" type="xsd:boolean"/>
<xsd:element xmlns:xsd="http://www.w3.org/2001/XMLSchema" minOccurs="1" name="WarningThresholdValue" type="xsd:double"/>
<xsd:element xmlns:xsd="http://www.w3.org/2001/XMLSchema" minOccurs="1" name="ErrorThresholdValue" type="xsd:double"/>
<xsd:element xmlns:xsd="http://www.w3.org/2001/XMLSchema" minOccurs="1" name="TimeoutSeconds" type="xsd:integer"/>
</Configuration>
<OverrideableParameters>
<OverrideableParameter ID="IntervalSeconds" Selector="$Config/IntervalSeconds$" ParameterType="int"/>
<OverrideableParameter ID="WarningThresholdValue" Selector="$Config/WarningThresholdValue$" ParameterType="double"/>
<OverrideableParameter ID="ErrorThresholdValue" Selector="$Config/ErrorThresholdValue$" ParameterType="double"/>
<OverrideableParameter ID="LogDetail" Selector="$Config/LogDetail$" ParameterType="bool"/>
<OverrideableParameter ID="TimeoutSeconds" Selector="$Config/TimeoutSeconds$" ParameterType="int"/>
</OverrideableParameters>
<MonitorImplementation>
<MemberModules>
<DataSource ID="DS" TypeID="Microsoft.MSMQ.6.3.DataSource.Queue.Statistics.PropertyBag">
<IntervalSeconds>$Config/IntervalSeconds$</IntervalSeconds>
<ComputerName>$Config/ComputerName$</ComputerName>
<QueuePath>$Config/QueuePath$</QueuePath>
<LogDetail>$Config/LogDetail$</LogDetail>
<TimeoutSeconds>$Config/TimeoutSeconds$</TimeoutSeconds>
</DataSource>
<ConditionDetection ID="FilterLessThanThreshold" TypeID="System!System.ExpressionFilter">
<Expression>
<SimpleExpression>
<ValueExpression>
<XPathQuery Type="Double">Property[@Name='$Config/CounterName$']</XPathQuery>
</ValueExpression>
<Operator>Less</Operator>
<ValueExpression>
<Value Type="Double">$Config/WarningThresholdValue$</Value>
</ValueExpression>
</SimpleExpression>
</Expression>
</ConditionDetection>
<ConditionDetection ID="FilterGreaterThanWarningThreshold" TypeID="System!System.ExpressionFilter">
<Expression>
<And>
<Expression>
<SimpleExpression>
<ValueExpression>
<XPathQuery Type="Double">Property[@Name='$Config/CounterName$']</XPathQuery>
</ValueExpression>
<Operator>GreaterEqual</Operator>
<ValueExpression>
<Value Type="Double">$Config/WarningThresholdValue$</Value>
</ValueExpression>
</SimpleExpression>
</Expression>
<Expression>
<SimpleExpression>
<ValueExpression>
<XPathQuery Type="Double">Property[@Name='$Config/CounterName$']</XPathQuery>
</ValueExpression>
<Operator>Less</Operator>
<ValueExpression>
<Value Type="Double">$Config/ErrorThresholdValue$</Value>
</ValueExpression>
</SimpleExpression>
</Expression>
</And>
</Expression>
</ConditionDetection>
<ConditionDetection ID="FilterGreaterThanErrorThreshold" TypeID="System!System.ExpressionFilter">
<Expression>
<SimpleExpression>
<ValueExpression>
<XPathQuery Type="Double">Property[@Name='$Config/CounterName$']</XPathQuery>
</ValueExpression>
<Operator>GreaterEqual</Operator>
<ValueExpression>
<Value Type="Double">$Config/ErrorThresholdValue$</Value>
</ValueExpression>
</SimpleExpression>
</Expression>
</ConditionDetection>
</MemberModules>
<RegularDetections>
<RegularDetection MonitorTypeStateID="ErrorState">
<Node ID="FilterGreaterThanErrorThreshold">
<Node ID="DS"/>
</Node>
</RegularDetection>
<RegularDetection MonitorTypeStateID="WarningState">
<Node ID="FilterGreaterThanWarningThreshold">
<Node ID="DS"/>
</Node>
</RegularDetection>
<RegularDetection MonitorTypeStateID="SuccessState">
<Node ID="FilterLessThanThreshold">
<Node ID="DS"/>
</Node>
</RegularDetection>
</RegularDetections>
</MonitorImplementation>
</UnitMonitorType>