Data Warehouse data collection speed monitor

Microsoft.SystemCenter.DataWarehouse.DataCollectionSlowdownUnitMonitorType (UnitMonitorType)

This monitor switches states based on events degradation of the data insertion speed

Element properties:

RunAsDefault
AccessibilityPublic
Support Monitor RecalculateTrue

Member Modules:

ID Module Type TypeId RunAs 
DataSource DataSource Microsoft.Windows.BaseEventProvider Default
OnDemandReset ProbeAction System.PassThroughProbe Default
FilterCondition ConditionDetection System.ExpressionFilter Default
TimerCondition ConditionDetection System.TimerCondition Default

Overrideable Parameters:

IDParameterTypeSelectorDisplay NameDescription
AllowedProcessingDelaySecondsint$Config/AllowedProcessingDelaySeconds$Allowed processing delayThe allowed data processing delay in seconds
WatchWindowSecondsint$Config/WatchWindowSeconds$Watch windowThe duration of time monitor will be looking for an event indicating data processing is slow

Source Code:

<UnitMonitorType ID="Microsoft.SystemCenter.DataWarehouse.DataCollectionSlowdownUnitMonitorType" Accessibility="Public">
<MonitorTypeStates>
<MonitorTypeState ID="CollectionUpToSpeed" NoDetection="false"/>
<MonitorTypeState ID="CollectionSlow" NoDetection="false"/>
</MonitorTypeStates>
<Configuration>
<xsd:element name="WorkflowName" type="xsd:string"/>
<xsd:element name="AllowedProcessingDelaySeconds" type="xsd:int"/>
<xsd:element name="WatchWindowSeconds" type="xsd:int"/>
</Configuration>
<OverrideableParameters>
<OverrideableParameter ID="AllowedProcessingDelaySeconds" ParameterType="int" Selector="$Config/AllowedProcessingDelaySeconds$"/>
<OverrideableParameter ID="WatchWindowSeconds" ParameterType="int" Selector="$Config/WatchWindowSeconds$"/>
</OverrideableParameters>
<MonitorImplementation>
<MemberModules>
<DataSource TypeID="Windows!Microsoft.Windows.BaseEventProvider" ID="DataSource">
<ComputerName>.</ComputerName>
<LogName>Operations Manager</LogName>
</DataSource>
<ProbeAction TypeID="System!System.PassThroughProbe" ID="OnDemandReset"/>
<ConditionDetection TypeID="System!System.ExpressionFilter" ID="FilterCondition">
<Expression>
<And>
<Expression>
<SimpleExpression>
<ValueExpression>
<XPathQuery Type="Integer">EventDisplayNumber</XPathQuery>
</ValueExpression>
<Operator>Equal</Operator>
<ValueExpression>
<Value Type="Integer">2115</Value>
</ValueExpression>
</SimpleExpression>
</Expression>
<Expression>
<SimpleExpression>
<ValueExpression>
<XPathQuery Type="String">Params/Param[1]</XPathQuery>
</ValueExpression>
<Operator>Equal</Operator>
<ValueExpression>
<Value Type="String">$Target/ManagementGroup/Name$</Value>
</ValueExpression>
</SimpleExpression>
</Expression>
<Expression>
<SimpleExpression>
<ValueExpression>
<XPathQuery Type="String">Params/Param[2]</XPathQuery>
</ValueExpression>
<Operator>Equal</Operator>
<ValueExpression>
<Value Type="String">$Config/WorkflowName$</Value>
</ValueExpression>
</SimpleExpression>
</Expression>
<Expression>
<SimpleExpression>
<ValueExpression>
<XPathQuery Type="Integer">Params/Param[5]</XPathQuery>
</ValueExpression>
<Operator>GreaterEqual</Operator>
<ValueExpression>
<Value Type="Integer">$Config/AllowedProcessingDelaySeconds$</Value>
</ValueExpression>
</SimpleExpression>
</Expression>
</And>
</Expression>
</ConditionDetection>
<ConditionDetection TypeID="System!System.TimerCondition" ID="TimerCondition">
<TimerWaitInSeconds>$Config/WatchWindowSeconds$</TimerWaitInSeconds>
</ConditionDetection>
</MemberModules>
<RegularDetections>
<RegularDetection MonitorTypeStateID="CollectionSlow">
<Node ID="FilterCondition">
<Node ID="DataSource"/>
</Node>
</RegularDetection>
<RegularDetection MonitorTypeStateID="CollectionUpToSpeed">
<Node ID="TimerCondition">
<Node ID="FilterCondition">
<Node ID="DataSource"/>
</Node>
</Node>
</RegularDetection>
</RegularDetections>
<OnDemandDetections>
<OnDemandDetection MonitorTypeStateID="CollectionUpToSpeed">
<Node ID="OnDemandReset"/>
</OnDemandDetection>
</OnDemandDetections>
</MonitorImplementation>
</UnitMonitorType>