Work item state monitor type

Microsoft.SystemCenter.ManagementConfigurationService.WorkItemStatsMonitorType (UnitMonitorType)

Monitor type to check specific work item last successful execution date and type and switch states if work item is not on schedule

Element properties:

RunAsDefault
AccessibilityInternal
Support Monitor RecalculateFalse

Member Modules:

ID Module Type TypeId RunAs 
FirstDataSource DataSource Microsoft.SystemCenter.ManagementConfigurationService.WorkItemStatsDataSource Default
SecondDataSource DataSource Microsoft.SystemCenter.ManagementConfigurationService.WorkItemStatsDataSource Default
FirstFilterCondition ConditionDetection System.ExpressionFilter Default
SecondFilterCondition ConditionDetection System.ExpressionFilter Default

Overrideable Parameters:

IDParameterTypeSelectorDisplay NameDescription
ToleranceSecondsint$Config/ToleranceSeconds$Work item delay toleranceInidicates how long a work item may be delayed without a problem

Source Code:

<UnitMonitorType ID="Microsoft.SystemCenter.ManagementConfigurationService.WorkItemStatsMonitorType" Accessibility="Internal">
<MonitorTypeStates>
<MonitorTypeState ID="WorkItemOnSchedule" NoDetection="false"/>
<MonitorTypeState ID="WorkItemDelayed" NoDetection="false"/>
</MonitorTypeStates>
<Configuration>
<xsd:element name="FrequencySeconds" type="xsd:int" minOccurs="1" maxOccurs="1"/>
<xsd:element name="WorkItemName" type="xsd:string" minOccurs="1" maxOccurs="1"/>
<xsd:element name="ToleranceSeconds" type="xsd:int" minOccurs="1" maxOccurs="1"/>
</Configuration>
<OverrideableParameters>
<OverrideableParameter ID="ToleranceSeconds" ParameterType="int" Selector="$Config/ToleranceSeconds$"/>
</OverrideableParameters>
<MonitorImplementation>
<MemberModules>
<DataSource TypeID="Microsoft.SystemCenter.ManagementConfigurationService.WorkItemStatsDataSource" ID="FirstDataSource">
<FrequencySeconds>$Config/FrequencySeconds$</FrequencySeconds>
</DataSource>
<DataSource TypeID="Microsoft.SystemCenter.ManagementConfigurationService.WorkItemStatsDataSource" ID="SecondDataSource">
<FrequencySeconds>$Config/FrequencySeconds$</FrequencySeconds>
</DataSource>
<ConditionDetection TypeID="System!System.ExpressionFilter" ID="FirstFilterCondition">
<Expression>
<And>
<Expression>
<SimpleExpression>
<ValueExpression>
<XPathQuery Type="String">WorkItemName</XPathQuery>
</ValueExpression>
<Operator>Equal</Operator>
<ValueExpression>
<Value Type="String">$Config/WorkItemName$</Value>
</ValueExpression>
</SimpleExpression>
</Expression>
<Expression>
<SimpleExpression>
<ValueExpression>
<XPathQuery Type="Integer">LastSuccessfulExecutionAgeSeconds</XPathQuery>
</ValueExpression>
<Operator>Less</Operator>
<ValueExpression>
<Value Type="Integer">$Config/ToleranceSeconds$</Value>
</ValueExpression>
</SimpleExpression>
</Expression>
</And>
</Expression>
</ConditionDetection>
<ConditionDetection TypeID="System!System.ExpressionFilter" ID="SecondFilterCondition">
<Expression>
<And>
<Expression>
<SimpleExpression>
<ValueExpression>
<XPathQuery Type="String">WorkItemName</XPathQuery>
</ValueExpression>
<Operator>Equal</Operator>
<ValueExpression>
<Value Type="String">$Config/WorkItemName$</Value>
</ValueExpression>
</SimpleExpression>
</Expression>
<Expression>
<SimpleExpression>
<ValueExpression>
<XPathQuery Type="Integer">LastSuccessfulExecutionAgeSeconds</XPathQuery>
</ValueExpression>
<Operator>GreaterEqual</Operator>
<ValueExpression>
<Value Type="Integer">$Config/ToleranceSeconds$</Value>
</ValueExpression>
</SimpleExpression>
</Expression>
</And>
</Expression>
</ConditionDetection>
</MemberModules>
<RegularDetections>
<RegularDetection MonitorTypeStateID="WorkItemOnSchedule">
<Node ID="FirstFilterCondition">
<Node ID="FirstDataSource"/>
</Node>
</RegularDetection>
<RegularDetection MonitorTypeStateID="WorkItemDelayed">
<Node ID="SecondFilterCondition">
<Node ID="SecondDataSource"/>
</Node>
</RegularDetection>
</RegularDetections>
</MonitorImplementation>
</UnitMonitorType>