User-defined SQL Query Performance Collection Rule

Microsoft.SqlServer.Core.CustomMonitoring.RuleTemplate.DBEngine.CustomQueryPerfCollection (Template)

Performance collection rule that executes a user-defined query in the target SQL Server DB Engine and collects a user-defined counter.

Source Code:

<Template ID="Microsoft.SqlServer.Core.CustomMonitoring.RuleTemplate.DBEngine.CustomQueryPerfCollection" Purpose="RuleCreation">
<Configuration>
<IncludeSchemaTypes>
<SchemaType>Microsoft.SqlServer.Core.CustomMonitoring.Schema.CustomQueryTypes</SchemaType>
</IncludeSchemaTypes>
<xsd:element xmlns:xsd="http://www.w3.org/2001/XMLSchema" name="ID" type="xsd:string"/>
<xsd:element xmlns:xsd="http://www.w3.org/2001/XMLSchema" name="Name" type="xsd:string"/>
<xsd:element xmlns:xsd="http://www.w3.org/2001/XMLSchema" name="Enabled" type="xsd:string"/>
<xsd:element xmlns:xsd="http://www.w3.org/2001/XMLSchema" name="Description" type="xsd:string"/>
<xsd:element xmlns:xsd="http://www.w3.org/2001/XMLSchema" name="Target" type="xsd:string"/>
<xsd:element xmlns:xsd="http://www.w3.org/2001/XMLSchema" name="Category" type="xsd:string"/>
<xsd:element xmlns:xsd="http://www.w3.org/2001/XMLSchema" name="LocaleId" type="xsd:string"/>
<xsd:element xmlns:xsd="http://www.w3.org/2001/XMLSchema" name="MonitoringType" type="xsd:string" minOccurs="0" maxOccurs="1"/>
<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="SqlQuery" type="xsd:string"/>
<xsd:element xmlns:xsd="http://www.w3.org/2001/XMLSchema" name="PerfCounters" type="PerfCounters"/>
<xsd:element xmlns:xsd="http://www.w3.org/2001/XMLSchema" name="SqlExecTimeoutSeconds" type="xsd:int"/>
<xsd:element xmlns:xsd="http://www.w3.org/2001/XMLSchema" name="SqlTimeoutSeconds" 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="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="Publisher" type="xsd:string"/>
</Configuration>
<References>
<Reference ID="System"/>
<Reference ID="SqlCoreLib"/>
<Reference ID="SC"/>
<Reference ID="SCDW"/>
<Reference ID="Self"/>
</References>
<Implementation>
<Monitoring>
<Rules>
<Rule ID="$TemplateConfig/ID$" Target="$TemplateConfig/Target$" Enabled="$TemplateConfig/Enabled$">
<Category>$TemplateConfig/Category$</Category>
<DataSources>
<DataSource ID="DS" TypeID="$Reference/Self$Microsoft.SqlServer.Core.CustomMonitoring.DataSource.DBEngineCustomQueryPerfCollection">
<MachineName>$Target/Property[Type="$Reference/SqlCoreLib$Microsoft.SQLServer.Core.DBEngine"]/MachineName$</MachineName>
<NetbiosComputerName>$Target/Property[Type="$Reference/SqlCoreLib$Microsoft.SQLServer.Core.DBEngine"]/NetbiosComputerName$</NetbiosComputerName>
<InstanceName>$Target/Property[Type="$Reference/SqlCoreLib$Microsoft.SQLServer.Core.DBEngine"]/InstanceName$</InstanceName>
<ConnectionString>$Target/Property[Type="$Reference/SqlCoreLib$Microsoft.SQLServer.Core.DBEngine"]/ConnectionString$</ConnectionString>
<InstanceVersion>$Target/Property[Type="$Reference/SqlCoreLib$Microsoft.SQLServer.Core.DBEngine"]/Version$</InstanceVersion>
<InstanceEdition>$Target/Property[Type="$Reference/SqlCoreLib$Microsoft.SQLServer.Core.DBEngine"]/Edition$</InstanceEdition>
<MonitoringType>$TemplateConfig/MonitoringType$</MonitoringType>
<RuleName>$TemplateConfig/Name$</RuleName>
<DatabaseName>$TemplateConfig/DatabaseName$</DatabaseName>
<SqlQuery>$TemplateConfig/SqlQuery$</SqlQuery>
<PerfCounters>$TemplateConfig/PerfCounters$</PerfCounters>
<SqlExecTimeoutSeconds>$TemplateConfig/SqlExecTimeoutSeconds$</SqlExecTimeoutSeconds>
<SqlTimeoutSeconds>$TemplateConfig/SqlTimeoutSeconds$</SqlTimeoutSeconds>
<TimeoutSeconds>$TemplateConfig/TimeoutSeconds$</TimeoutSeconds>
<IntervalSeconds>$TemplateConfig/IntervalSeconds$</IntervalSeconds>
<SyncTime>$TemplateConfig/SyncTime$</SyncTime>
<Publisher>$TemplateConfig/Publisher$</Publisher>
</DataSource>
</DataSources>
<WriteActions>
<WriteAction ID="WriteToDB" TypeID="$Reference/SC$Microsoft.SystemCenter.CollectPerformanceData"/>
<WriteAction ID="WriteToDW" TypeID="$Reference/SCDW$Microsoft.SystemCenter.DataWarehouse.PublishPerformanceData"/>
</WriteActions>
</Rule>
</Rules>
</Monitoring>
<LanguagePacks>
<LanguagePack ID="$TemplateConfig/LocaleId$" IsDefault="true">
<DisplayStrings>
<DisplayString ElementID="$TemplateConfig/ID$">
<Name>$TemplateConfig/Name$</Name>
<Description>$TemplateConfig/Description$</Description>
</DisplayString>
</DisplayStrings>
</LanguagePack>
</LanguagePacks>
</Implementation>
</Template>