SSRS 2014: Report executions per minute (Deployment)

Microsoft.SQLServer.2014.ReportingServices.PerformanceRule.DeploymentWatcher.CountOfReportExecutions (Rule)

The rule collects the total number of report executions per minute for entire Deployment of SQL Server Reporting Services. The rule queries SSRS Catalog database to get the information.

Knowledge Base article:

Summary

The rule collects the total number of report executions per minute for entire Deployment of SQL Server Reporting Services. The rule queries SSRS Catalog database to get the information.

Overrideable Parameters

Name

Description

Default Value

Enabled

 

1

Generates Alerts

 

No

Interval (seconds)

The recurring interval of time in seconds in which to run the workflow.

900

Synchronization Time

 

 

Time out for database connection

The workflow will fail and register an event if it cannot access the database during specified time interval.

300

Element properties:

TargetMicrosoft.SQLServer.2014.ReportingServices.DeploymentWatcher
CategoryPerformanceCollection
EnabledTrue
Alert GenerateFalse
RemotableTrue

Member Modules:

ID Module Type TypeId RunAs 
DS DataSource Microsoft.SQLServer.2014.ReportingServices.DataSource.TSQLCountersReportingServiceCustom Microsoft.SQLServer.2014.ReportingServices.RunAsProfile.Monitoring
Mapper ConditionDetection System.Performance.DataGenericMapper Default
WriteToDB WriteAction Microsoft.SystemCenter.CollectPerformanceData Microsoft.SQLServer.2014.ReportingServices.RunAsProfile.Monitoring
WriteToDW WriteAction Microsoft.SystemCenter.DataWarehouse.PublishPerformanceData Microsoft.SQLServer.2014.ReportingServices.RunAsProfile.Monitoring

Source Code:

<Rule ID="Microsoft.SQLServer.2014.ReportingServices.PerformanceRule.DeploymentWatcher.CountOfReportExecutions" Enabled="true" Target="SQLRS!Microsoft.SQLServer.2014.ReportingServices.DeploymentWatcher" ConfirmDelivery="false" Remotable="true" Priority="Normal" DiscardLevel="100">
<Category>PerformanceCollection</Category>
<DataSources>
<DataSource ID="DS" TypeID="Microsoft.SQLServer.2014.ReportingServices.DataSource.TSQLCountersReportingServiceCustom" RunAs="SQLRS!Microsoft.SQLServer.2014.ReportingServices.RunAsProfile.Monitoring">
<DatabaseServerName>$Target/Property[Type="SQLRS!Microsoft.SQLServer.2014.ReportingServices.DeploymentWatcher"]/ServerFQDN$</DatabaseServerName>
<DatabaseInstanceName>$Target/Property[Type="SQLRS!Microsoft.SQLServer.2014.ReportingServices.DeploymentWatcher"]/DBInstanceName$</DatabaseInstanceName>
<DatabaseName>$Target/Property[Type="SQLRS!Microsoft.SQLServer.2014.ReportingServices.DeploymentWatcher"]/DBName$</DatabaseName>
<ServerName/>
<InstanceName/>
<TSQLCounterClassName>PerformanceStatistics</TSQLCounterClassName>
<TSQLCounterPropertyName>Executions</TSQLCounterPropertyName>
<TimeOut>300</TimeOut>
<IntervalSeconds>900</IntervalSeconds>
<DividerIfGreater>0</DividerIfGreater>
<Divider>1</Divider>
<SyncTime/>
</DataSource>
</DataSources>
<ConditionDetection ID="Mapper" TypeID="SystemPerf!System.Performance.DataGenericMapper">
<ObjectName>SQL RS Deployment Watcher</ObjectName>
<CounterName>Report executions/min</CounterName>
<InstanceName/>
<Value>$Data/Property[@Name='Executions']$</Value>
</ConditionDetection>
<WriteActions>
<WriteAction ID="WriteToDB" TypeID="SC!Microsoft.SystemCenter.CollectPerformanceData" RunAs="SQLRS!Microsoft.SQLServer.2014.ReportingServices.RunAsProfile.Monitoring"/>
<WriteAction ID="WriteToDW" TypeID="SCDW!Microsoft.SystemCenter.DataWarehouse.PublishPerformanceData" RunAs="SQLRS!Microsoft.SQLServer.2014.ReportingServices.RunAsProfile.Monitoring"/>
</WriteActions>
</Rule>