SSAS 2008: Collect Query Pool Job Queue Length

Microsoft.SQLServer.2008.AnalysisServices.PerformanceRule.Instance.QueryPoolQueueLength (Rule)

The rule collects the length of the query pool job queue.

Knowledge Base article:

Summary

The rule collects the length of the query pool job queue.

External

SSAS Multidimensional Performance Guide

Element properties:

TargetMicrosoft.SQLServer.2008.AnalysisServices.Instance
CategoryPerformanceCollection
EnabledTrue
Alert GenerateFalse
RemotableTrue

Member Modules:

ID Module Type TypeId RunAs 
DS DataSource Microsoft.SQLServer.2008.AnalysisServices.DataSource.ScheduledPerfomanceDataProvider Microsoft.SQLServer.2008.AnalysisServices.RunAsProfile.ASMonitoring
Mapper ConditionDetection System.Performance.DataGenericMapper Default
WriteToDatabase WriteAction Microsoft.SystemCenter.CollectPerformanceData Microsoft.SQLServer.2008.AnalysisServices.RunAsProfile.ASMonitoring
WriteToDW WriteAction Microsoft.SystemCenter.DataWarehouse.PublishPerformanceData Microsoft.SQLServer.2008.AnalysisServices.RunAsProfile.ASMonitoring

Source Code:

<Rule ID="Microsoft.SQLServer.2008.AnalysisServices.PerformanceRule.Instance.QueryPoolQueueLength" Enabled="true" Target="SQLAS!Microsoft.SQLServer.2008.AnalysisServices.Instance" ConfirmDelivery="false" Remotable="true" Priority="Normal" DiscardLevel="100">
<Category>PerformanceCollection</Category>
<DataSources>
<DataSource ID="DS" TypeID="Microsoft.SQLServer.2008.AnalysisServices.DataSource.ScheduledPerfomanceDataProvider" RunAs="SQLAS!Microsoft.SQLServer.2008.AnalysisServices.RunAsProfile.ASMonitoring">
<PrincipalName>$Target/Host/Property[Type='Windows!Microsoft.Windows.Computer']/PrincipalName$</PrincipalName>
<PerformanceCounterObjectName>$Target/Property[Type='SQLAS!Microsoft.SQLServer.2008.AnalysisServices.Instance']/PerformanceCounterObject$:Threads</PerformanceCounterObjectName>
<PerformanceCounterName>Query pool job queue length</PerformanceCounterName>
<PerformanceCounterInstanceName/>
<Divider>1</Divider>
<IntervalSeconds>900</IntervalSeconds>
<SyncTime/>
</DataSource>
</DataSources>
<ConditionDetection ID="Mapper" TypeID="SystemPerf!System.Performance.DataGenericMapper">
<ObjectName>SSAS Instance</ObjectName>
<CounterName>Query pool job queue length</CounterName>
<InstanceName>$Target/Property[Type="SQLAS!Microsoft.SQLServer.2008.AnalysisServices.ServerRole"]/InstanceName$</InstanceName>
<Value>$Data/Property[@Name='Query pool job queue length']$</Value>
</ConditionDetection>
<WriteActions>
<WriteAction ID="WriteToDatabase" TypeID="SC!Microsoft.SystemCenter.CollectPerformanceData" RunAs="SQLAS!Microsoft.SQLServer.2008.AnalysisServices.RunAsProfile.ASMonitoring"/>
<WriteAction ID="WriteToDW" TypeID="SCDW!Microsoft.SystemCenter.DataWarehouse.PublishPerformanceData" RunAs="SQLAS!Microsoft.SQLServer.2008.AnalysisServices.RunAsProfile.ASMonitoring"/>
</WriteActions>
</Rule>