BizTalk Application Artifact Run-Time Availability Monitor Type

Microsoft.BizTalk.Server.2016.ArtifactSuspendedInstances.AvailabilityMonitor (UnitMonitorType)

This is the BizTalk application artifact run-time availability monitor type used for monitoring run-time state of application artifacts based on number of suspended instances.

Element properties:

RunAsDefault
AccessibilityPublic
Support Monitor RecalculateTrue

Member Modules:

ID Module Type TypeId RunAs 
ScriptDS DataSource Microsoft.BizTalk.Server.2016.Monitor.ArtifactSuspendedInstances.DataSource Default
OnDemandReset ProbeAction System.PassThroughProbe Default
FilterNotRunning ConditionDetection System.ExpressionFilter Default
FilterRunning ConditionDetection System.ExpressionFilter Default
FilterWarning ConditionDetection System.ExpressionFilter Default
MapperNotRunning ConditionDetection System.Performance.DataGenericMapper Default
MapperRunning ConditionDetection System.Performance.DataGenericMapper Default
MapperWarning ConditionDetection System.Performance.DataGenericMapper Default

Overrideable Parameters:

IDParameterTypeSelectorDisplay NameDescription
IntervalSecondsint$Config/IntervalSeconds$Interval SecondsThis is the interval (in seconds) at which the monitor is run.
StartDateTimestring$Config/StartDateTime$Start DateThis is the date from which suspended instances are taken into account. Along with end date this forms a window between which all suspended instances for an artifact are taken into account for health computation.
EndDateTimestring$Config/EndDateTime$End DateThis is the date till which suspended instances are taken into account. Along with start date this forms a window between which all suspended instances for an artifact are taken into account for health computation.
SuccessLimitint$Config/SuccessLimit$Success LimitMonitor state is success if the number of suspended instances is less than or equal to this value.
WarningLimitint$Config/WarningLimit$Warning LimitMonitor state is warning if the number of suspended instances is greater than success limit and less than or equal to this value. Monitor state is error if the number of suspended instances is greater than this value.
LogSuccessEventbool$Config/LogSuccessEvent$Log Success EventAn event is logged based on successful completion of the monitor when value is set to 'true'.
TimeoutSecondsint$Config/TimeoutSeconds$Timeout SecondsThis is the timeout (in seconds) after which execution of the monitor is terminated if not yet completed.

Source Code:

<UnitMonitorType ID="Microsoft.BizTalk.Server.2016.ArtifactSuspendedInstances.AvailabilityMonitor" Accessibility="Public">
<MonitorTypeStates>
<MonitorTypeState ID="SuccessState" NoDetection="false"/>
<MonitorTypeState ID="WarningState" NoDetection="false"/>
<MonitorTypeState ID="ErrorState" NoDetection="false"/>
</MonitorTypeStates>
<Configuration>
<xsd:element name="IntervalSeconds" type="xsd:int"/>
<xsd:element name="ArtifactName" type="xsd:string"/>
<xsd:element name="ApplicationID" type="xsd:int"/>
<xsd:element name="ArtifactType" type="xsd:string"/>
<xsd:element name="StartDateTime" type="xsd:string"/>
<xsd:element name="EndDateTime" type="xsd:string"/>
<xsd:element name="SuccessLimit" type="xsd:int"/>
<xsd:element name="WarningLimit" type="xsd:int"/>
<xsd:element name="LogSuccessEvent" type="xsd:boolean"/>
<xsd:element name="TimeoutSeconds" type="xsd:int"/>
</Configuration>
<OverrideableParameters>
<OverrideableParameter ID="IntervalSeconds" Selector="$Config/IntervalSeconds$" ParameterType="int"/>
<OverrideableParameter ID="StartDateTime" Selector="$Config/StartDateTime$" ParameterType="string"/>
<OverrideableParameter ID="EndDateTime" Selector="$Config/EndDateTime$" ParameterType="string"/>
<OverrideableParameter ID="SuccessLimit" Selector="$Config/SuccessLimit$" ParameterType="int"/>
<OverrideableParameter ID="WarningLimit" Selector="$Config/WarningLimit$" ParameterType="int"/>
<OverrideableParameter ID="LogSuccessEvent" Selector="$Config/LogSuccessEvent$" ParameterType="bool"/>
<OverrideableParameter ID="TimeoutSeconds" Selector="$Config/TimeoutSeconds$" ParameterType="int"/>
</OverrideableParameters>
<MonitorImplementation>
<MemberModules>
<DataSource ID="ScriptDS" TypeID="Microsoft.BizTalk.Server.2016.Monitor.ArtifactSuspendedInstances.DataSource">
<IntervalSeconds>$Config/IntervalSeconds$</IntervalSeconds>
<ApplicationID>$Config/ApplicationID$</ApplicationID>
<ArtifactType>$Config/ArtifactType$</ArtifactType>
<StartDateTime>$Config/StartDateTime$</StartDateTime>
<EndDateTime>$Config/EndDateTime$</EndDateTime>
<SuccessLimit>$Config/SuccessLimit$</SuccessLimit>
<WarningLimit>$Config/WarningLimit$</WarningLimit>
<LogSuccessEvent>$Config/LogSuccessEvent$</LogSuccessEvent>
<TimeoutSeconds>$Config/TimeoutSeconds$</TimeoutSeconds>
</DataSource>
<ProbeAction ID="OnDemandReset" TypeID="System!System.PassThroughProbe"/>
<ConditionDetection ID="FilterRunning" TypeID="System!System.ExpressionFilter">
<Expression>
<RegExExpression>
<ValueExpression>
<XPathQuery>Property[@Name='$Config/ArtifactName$/State']</XPathQuery>
</ValueExpression>
<Operator>ContainsSubstring</Operator>
<Pattern>2</Pattern>
</RegExExpression>
</Expression>
</ConditionDetection>
<ConditionDetection ID="FilterWarning" TypeID="System!System.ExpressionFilter">
<Expression>
<RegExExpression>
<ValueExpression>
<XPathQuery>Property[@Name='$Config/ArtifactName$/State']</XPathQuery>
</ValueExpression>
<Operator>ContainsSubstring</Operator>
<Pattern>1</Pattern>
</RegExExpression>
</Expression>
</ConditionDetection>
<ConditionDetection ID="FilterNotRunning" TypeID="System!System.ExpressionFilter">
<Expression>
<RegExExpression>
<ValueExpression>
<XPathQuery>Property[@Name='$Config/ArtifactName$/State']</XPathQuery>
</ValueExpression>
<Operator>ContainsSubstring</Operator>
<Pattern>0</Pattern>
</RegExExpression>
</Expression>
</ConditionDetection>
<ConditionDetection ID="MapperRunning" TypeID="Perf!System.Performance.DataGenericMapper">
<ObjectName>Artifact Suspended Instances</ObjectName>
<CounterName>State</CounterName>
<InstanceName>$Config/ArtifactName$</InstanceName>
<Value>2</Value>
</ConditionDetection>
<ConditionDetection ID="MapperWarning" TypeID="Perf!System.Performance.DataGenericMapper">
<ObjectName>Artifact Suspended Instances</ObjectName>
<CounterName>State</CounterName>
<InstanceName>$Config/ArtifactName$</InstanceName>
<Value>1</Value>
</ConditionDetection>
<ConditionDetection ID="MapperNotRunning" TypeID="Perf!System.Performance.DataGenericMapper">
<ObjectName>Artifact Suspended Instances</ObjectName>
<CounterName>State</CounterName>
<InstanceName>$Config/ArtifactName$</InstanceName>
<Value>0</Value>
</ConditionDetection>
</MemberModules>
<RegularDetections>
<RegularDetection MonitorTypeStateID="SuccessState">
<Node ID="MapperRunning">
<Node ID="FilterRunning">
<Node ID="ScriptDS"/>
</Node>
</Node>
</RegularDetection>
<RegularDetection MonitorTypeStateID="WarningState">
<Node ID="MapperWarning">
<Node ID="FilterWarning">
<Node ID="ScriptDS"/>
</Node>
</Node>
</RegularDetection>
<RegularDetection MonitorTypeStateID="ErrorState">
<Node ID="MapperNotRunning">
<Node ID="FilterNotRunning">
<Node ID="ScriptDS"/>
</Node>
</Node>
</RegularDetection>
</RegularDetections>
<OnDemandDetections>
<OnDemandDetection MonitorTypeStateID="SuccessState">
<Node ID="OnDemandReset"/>
</OnDemandDetection>
</OnDemandDetections>
</MonitorImplementation>
</UnitMonitorType>