Citrix Session Idle Monitor

Citrix.PresentationServer.CitrixSessionIdle.MonitorType (UnitMonitorType)

Defines a monitor type that allows monitoring and identification of Citrix sessions that have been idle for longer than a predefined period of time

Element properties:

RunAsDefault
AccessibilityPublic
Support Monitor RecalculateFalse

Member Modules:

ID Module Type TypeId RunAs 
DS DataSource Citrix.PresentationServer.CitrixSessionIdle.DataSource Default
FilterSessionActive ConditionDetection System.ExpressionFilter Default
FilterSessionIdle ConditionDetection System.ExpressionFilter Default

Overrideable Parameters:

IDParameterTypeSelector
IntervalInSecondsint$Config/IntervalInSeconds$
MinutesIdleint$Config/MinutesIdle$

Source Code:

<UnitMonitorType ID="Citrix.PresentationServer.CitrixSessionIdle.MonitorType" Accessibility="Public">
<MonitorTypeStates>
<MonitorTypeState ID="SessionIdle" NoDetection="false"/>
<MonitorTypeState ID="SessionActive" NoDetection="false"/>
</MonitorTypeStates>
<Configuration>
<xsd:element xmlns:xsd="http://www.w3.org/2001/XMLSchema" name="IntervalInSeconds" type="xsd:integer"/>
<xsd:element xmlns:xsd="http://www.w3.org/2001/XMLSchema" name="MinutesIdle" type="xsd:integer"/>
</Configuration>
<OverrideableParameters>
<OverrideableParameter ID="IntervalInSeconds" Selector="$Config/IntervalInSeconds$" ParameterType="int"/>
<OverrideableParameter ID="MinutesIdle" Selector="$Config/MinutesIdle$" ParameterType="int"/>
</OverrideableParameters>
<MonitorImplementation>
<MemberModules>
<DataSource ID="DS" TypeID="Citrix.PresentationServer.CitrixSessionIdle.DataSource">
<IntervalInSeconds>$Config/IntervalInSeconds$</IntervalInSeconds>
<MinutesIdle>$Config/MinutesIdle$</MinutesIdle>
</DataSource>
<ConditionDetection ID="FilterSessionActive" TypeID="System!System.ExpressionFilter">
<Expression>
<SimpleExpression>
<ValueExpression>
<XPathQuery>IdleSessions</XPathQuery>
</ValueExpression>
<Operator>Equal</Operator>
<ValueExpression>
<Value>False</Value>
</ValueExpression>
</SimpleExpression>
</Expression>
</ConditionDetection>
<ConditionDetection ID="FilterSessionIdle" TypeID="System!System.ExpressionFilter">
<Expression>
<SimpleExpression>
<ValueExpression>
<XPathQuery>IdleSessions</XPathQuery>
</ValueExpression>
<Operator>Equal</Operator>
<ValueExpression>
<Value>True</Value>
</ValueExpression>
</SimpleExpression>
</Expression>
</ConditionDetection>
</MemberModules>
<RegularDetections>
<RegularDetection MonitorTypeStateID="SessionIdle">
<Node ID="FilterSessionIdle">
<Node ID="DS"/>
</Node>
</RegularDetection>
<RegularDetection MonitorTypeStateID="SessionActive">
<Node ID="FilterSessionActive">
<Node ID="DS"/>
</Node>
</RegularDetection>
</RegularDetections>
</MonitorImplementation>
</UnitMonitorType>