MSSQL on Linux: Property Bag Performance Data Mapper

Microsoft.SQLServer.Linux.ConditionDetection.PropertyBagPerformanceDataMapper (ConditionDetectionModuleType)

This module converts Property Bag value into performance data point.

Element properties:

TypeConditionDetectionModuleType
IsolationAny
AccessibilityInternal
RunAsDefault
OutputTypeSystem.Performance.Data

Member Modules:

ID Module Type TypeId RunAs 
ExistenceCheck ConditionDetection System.ExpressionFilter Default
Mapper ConditionDetection System.Performance.DataGenericMapper Default

Source Code:

<ConditionDetectionModuleType ID="Microsoft.SQLServer.Linux.ConditionDetection.PropertyBagPerformanceDataMapper" Accessibility="Internal" PassThrough="false" Stateful="false">
<Configuration>
<xsd:element xmlns:xsd="http://www.w3.org/2001/XMLSchema" name="ObjectName" type="xsd:string"/>
<xsd:element xmlns:xsd="http://www.w3.org/2001/XMLSchema" name="CounterName" type="xsd:string"/>
<xsd:element xmlns:xsd="http://www.w3.org/2001/XMLSchema" name="InstanceName" type="xsd:string"/>
<xsd:element xmlns:xsd="http://www.w3.org/2001/XMLSchema" name="PropertyName" type="xsd:string"/>
</Configuration>
<ModuleImplementation>
<Composite>
<MemberModules>
<ConditionDetection ID="ExistenceCheck" TypeID="System!System.ExpressionFilter">
<Expression>
<And>
<Expression>
<Exists>
<ValueExpression>
<XPathQuery Type="String">Property[@Name='$Config/PropertyName$']</XPathQuery>
</ValueExpression>
</Exists>
</Expression>
<Expression>
<SimpleExpression>
<ValueExpression>
<XPathQuery Type="String">Property[@Name='$Config/PropertyName$']</XPathQuery>
</ValueExpression>
<Operator>NotEqual</Operator>
<ValueExpression>
<Value Type="String"/>
</ValueExpression>
</SimpleExpression>
</Expression>
</And>
</Expression>
</ConditionDetection>
<ConditionDetection ID="Mapper" TypeID="SystemPerf!System.Performance.DataGenericMapper">
<ObjectName>$Config/ObjectName$</ObjectName>
<CounterName>$Config/CounterName$</CounterName>
<InstanceName>$Config/InstanceName$</InstanceName>
<Value>$Data/Property[@Name='$Config/PropertyName$']$</Value>
</ConditionDetection>
</MemberModules>
<Composition>
<Node ID="Mapper">
<Node ID="ExistenceCheck"/>
</Node>
</Composition>
</Composite>
</ModuleImplementation>
<OutputType>SystemPerf!System.Performance.Data</OutputType>
<InputTypes>
<InputType>System!System.PropertyBagData</InputType>
</InputTypes>
</ConditionDetectionModuleType>