Events filter by heavy/light logic

Microsoft.SystemCenter.Apm.LightEventExclusionFilter (ConditionDetectionModuleType)

Element properties:

TypeConditionDetectionModuleType
IsolationAny
AccessibilityInternal
RunAsDefault
OutputTypeSystem.BaseData
CommentFilters out AVICODE PMonitorLog light event

Member Modules:

ID Module Type TypeId RunAs 
FilterOutLightEvents ConditionDetection System.ExpressionFilter Default

Source Code:

<ConditionDetectionModuleType ID="Microsoft.SystemCenter.Apm.LightEventExclusionFilter" Batching="false" PassThrough="true" Stateful="false" Accessibility="Internal" Comment="Filters out AVICODE PMonitorLog light event">
<Configuration/>
<ModuleImplementation>
<Composite>
<MemberModules>
<!-- If it is a PMonitorLog event, then (heavyLightStatus property != light)
XPath(/DataItem/eventClass) == PMonitorLog and XPath(/DataItem/eventData/log/properties[@name="heavyLightStatus"]) != 'light' -->
<ConditionDetection ID="FilterOutLightEvents" TypeID="System!System.ExpressionFilter">
<Expression>
<Or>
<Expression>
<Not>
<Expression>
<SimpleExpression>
<ValueExpression>
<XPathQuery Type="String">/DataItem/eventClass</XPathQuery>
</ValueExpression>
<Operator>Equal</Operator>
<ValueExpression>
<Value Type="String">PMonitorLog</Value>
</ValueExpression>
</SimpleExpression>
</Expression>
</Not>
</Expression>
<Expression>
<SimpleExpression>
<ValueExpression>
<XPathQuery Type="String">/DataItem/eventData/log/properties/add[@name='heavyLightStatus']</XPathQuery>
</ValueExpression>
<Operator>NotEqual</Operator>
<ValueExpression>
<Value Type="String">light</Value>
</ValueExpression>
</SimpleExpression>
</Expression>
</Or>
</Expression>
</ConditionDetection>
</MemberModules>
<Composition>
<Node ID="FilterOutLightEvents"/>
</Composition>
</Composite>
</ModuleImplementation>
<OutputType>System!System.BaseData</OutputType>
<InputTypes>
<InputType>System!System.BaseData</InputType>
</InputTypes>
</ConditionDetectionModuleType>