MSSQL 2016: Memory-Optimized Data Stale Checkpoint Files Ratio Monitor Type

Microsoft.SQLServer.2016.DBFileGroupFx.StaleCFPs.MonitorType (UnitMonitorType)

SQL Server 2016 Memory-Optimized Data Stale Checkpoint Files Ratio Monitor Type

Element properties:

RunAsDefault
AccessibilityInternal
Support Monitor RecalculateFalse

Member Modules:

ID Module Type TypeId RunAs 
DS DataSource Microsoft.SQLServer.2016.DataSource.DBFileGroupFx.StaleCFPRatio Default
CDErrorState ConditionDetection System.ExpressionFilter Default
CDSuccessState ConditionDetection System.ExpressionFilter Default
CSC ConditionDetection System.Performance.ConsecutiveSamplesCondition Default
Mapper ConditionDetection System.Performance.DataGenericMapper Default

Overrideable Parameters:

IDParameterTypeSelectorDisplay NameDescription
IntervalSecondsint$Config/IntervalSeconds$Interval (seconds)The recurring interval of time in seconds in which to run the workflow.
SyncTimestring$Config/SyncTime$Synchronization TimeThe synchronization time specified by using a 24-hour format. May be omitted.
Thresholdint$Config/Threshold$ThresholdThe collected ratio will be compared against this parameter.
CfpCountThresholdint$Config/CfpCountThreshold$Checkpoint File Pairs ThresholdAn alert would be generated if Checkpoint File Pairs total count greater than or equal to the Checkpoint File Pairs Threshold.
TimeoutSecondsint$Config/TimeoutSeconds$Timeout (seconds)Specifies the time the workflow is allowed to run before being closed and marked as failed.
ScriptDelayMsecint$Config/ScriptDelayMsec$Script Delay (milliseconds)This parameter sets the delay between consecutive T-SQL queries executed by the workflow. This may help to reduce the footprint generated by the workflow in case of large number of target objects. Please advise with Microsoft Support before changing this parameter.
NumSamplesint$Config/NumSamples$Number of samplesIndicates how many times a measured value should breach the thresholds before the state is changed.

Source Code:

<UnitMonitorType ID="Microsoft.SQLServer.2016.DBFileGroupFx.StaleCFPs.MonitorType" Accessibility="Internal">
<MonitorTypeStates>
<MonitorTypeState ID="ErrorState"/>
<MonitorTypeState ID="SuccessState"/>
</MonitorTypeStates>
<Configuration>
<xsd:element xmlns:xsd="http://www.w3.org/2001/XMLSchema" name="IntervalSeconds" type="xsd:integer"/>
<xsd:element xmlns:xsd="http://www.w3.org/2001/XMLSchema" name="SyncTime" type="xsd:string"/>
<xsd:element xmlns:xsd="http://www.w3.org/2001/XMLSchema" name="ServerName" type="xsd:string"/>
<xsd:element xmlns:xsd="http://www.w3.org/2001/XMLSchema" name="SqlInstanceName" type="xsd:string"/>
<xsd:element xmlns:xsd="http://www.w3.org/2001/XMLSchema" name="DatabaseName" type="xsd:string"/>
<xsd:element xmlns:xsd="http://www.w3.org/2001/XMLSchema" name="Threshold" type="xsd:int"/>
<xsd:element xmlns:xsd="http://www.w3.org/2001/XMLSchema" name="CfpCountThreshold" type="xsd:int"/>
<xsd:element xmlns:xsd="http://www.w3.org/2001/XMLSchema" name="TimeoutSeconds" type="xsd:int"/>
<xsd:element xmlns:xsd="http://www.w3.org/2001/XMLSchema" name="ScriptDelayMsec" type="xsd:int"/>
<xsd:element xmlns:xsd="http://www.w3.org/2001/XMLSchema" name="NumSamples" type="xsd:integer"/>
</Configuration>
<OverrideableParameters>
<OverrideableParameter ID="IntervalSeconds" ParameterType="int" Selector="$Config/IntervalSeconds$"/>
<OverrideableParameter ID="SyncTime" ParameterType="string" Selector="$Config/SyncTime$"/>
<OverrideableParameter ID="Threshold" ParameterType="int" Selector="$Config/Threshold$"/>
<OverrideableParameter ID="CfpCountThreshold" ParameterType="int" Selector="$Config/CfpCountThreshold$"/>
<OverrideableParameter ID="TimeoutSeconds" ParameterType="int" Selector="$Config/TimeoutSeconds$"/>
<OverrideableParameter ID="ScriptDelayMsec" ParameterType="int" Selector="$Config/ScriptDelayMsec$"/>
<OverrideableParameter ID="NumSamples" Selector="$Config/NumSamples$" ParameterType="int"/>
</OverrideableParameters>
<MonitorImplementation>
<MemberModules>
<DataSource TypeID="Microsoft.SQLServer.2016.DataSource.DBFileGroupFx.StaleCFPRatio" ID="DS">
<IntervalSeconds>$Config/IntervalSeconds$</IntervalSeconds>
<SyncTime>$Config/SyncTime$</SyncTime>
<ServerName>$Config/ServerName$</ServerName>
<SqlInstanceName>$Config/SqlInstanceName$</SqlInstanceName>
<DatabaseName>$Config/DatabaseName$</DatabaseName>
<TimeoutSeconds>$Config/TimeoutSeconds$</TimeoutSeconds>
<ScriptDelayMsec>$Config/ScriptDelayMsec$</ScriptDelayMsec>
<CfpCountThreshold>$Config/CfpCountThreshold$</CfpCountThreshold>
</DataSource>
<ConditionDetection ID="Mapper" TypeID="SystemPerf!System.Performance.DataGenericMapper">
<ObjectName>$Config/DatabaseName$</ObjectName>
<CounterName>Stale CFPs Ratio</CounterName>
<InstanceName/>
<Value>$Data/Property[@Name="StaleRatio"]$</Value>
</ConditionDetection>
<ConditionDetection ID="CSC" TypeID="SystemPerf!System.Performance.ConsecutiveSamplesCondition">
<Threshold>$Config/Threshold$</Threshold>
<Direction>greaterequal</Direction>
</ConditionDetection>
<ConditionDetection ID="CDSuccessState" 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="CDErrorState" 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="SuccessState">
<Node ID="CDSuccessState">
<Node ID="CSC">
<Node ID="Mapper">
<Node ID="DS"/>
</Node>
</Node>
</Node>
</RegularDetection>
<RegularDetection MonitorTypeStateID="ErrorState">
<Node ID="CDErrorState">
<Node ID="CSC">
<Node ID="Mapper">
<Node ID="DS"/>
</Node>
</Node>
</Node>
</RegularDetection>
</RegularDetections>
</MonitorImplementation>
</UnitMonitorType>