SSRS 2012: Memory consumed by SSRS (GB)

Microsoft.SQLServer.2012.ReportingServices.PerformanceRule.Instance.MemoryUsageByInstance (Rule)

The rule collects the amount of memory consumed by the given SSRS Instance.

Knowledge Base article:

Summary

The rule collects the amount of memory consumed by the given SSRS Instance.

Additional

http://msdn.microsoft.com/en-us/library/ms159206.aspx talks more about the memory settings for Reporting services

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

 

 

Element properties:

TargetMicrosoft.SQLServer.2012.ReportingServices.Instance
CategoryPerformanceCollection
EnabledTrue
Alert GenerateFalse
RemotableTrue

Member Modules:

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

Source Code:

<Rule ID="Microsoft.SQLServer.2012.ReportingServices.PerformanceRule.Instance.MemoryUsageByInstance" Enabled="true" Target="SQLRS!Microsoft.SQLServer.2012.ReportingServices.Instance" ConfirmDelivery="false" Remotable="true" Priority="Normal" DiscardLevel="100">
<Category>PerformanceCollection</Category>
<DataSources>
<DataSource ID="DS" TypeID="Microsoft.SQLServer.2012.ReportingServices.DataSource.MappedInstancePerfomanceDataProvider" RunAs="SQLRS!Microsoft.SQLServer.2012.ReportingServices.RunAsProfile.Monitoring">
<ServiceName>$Target/Property[Type='SQLRS!Microsoft.SQLServer.2012.ReportingServices.Instance']/ServiceName$</ServiceName>
<InstallPath>$Target/Property[Type='SQLRS!Microsoft.SQLServer.2012.ReportingServices.Instance']/InstallPath$</InstallPath>
<PerformanceCounterClassName>SystemDiagnosticsProcess</PerformanceCounterClassName>
<PerformanceCounterPropertyName>PrivateMemorySize</PerformanceCounterPropertyName>
<DividerIfGreater>0</DividerIfGreater>
<Divider>1073741824</Divider>
<IntervalSeconds>900</IntervalSeconds>
<SyncTime/>
</DataSource>
</DataSources>
<ConditionDetection ID="Mapper" TypeID="SystemPerf!System.Performance.DataGenericMapper">
<ObjectName>SQL RS Instance</ObjectName>
<CounterName>Memory Used By SSRS (GB)</CounterName>
<InstanceName/>
<Value>$Data/Property[@Name='PrivateMemorySize']$</Value>
</ConditionDetection>
<WriteActions>
<WriteAction ID="WriteToDB" TypeID="SC!Microsoft.SystemCenter.CollectPerformanceData" RunAs="SQLRS!Microsoft.SQLServer.2012.ReportingServices.RunAsProfile.Monitoring"/>
<WriteAction ID="WriteToDW" TypeID="SCDW!Microsoft.SystemCenter.DataWarehouse.PublishPerformanceData" RunAs="SQLRS!Microsoft.SQLServer.2012.ReportingServices.RunAsProfile.Monitoring"/>
</WriteActions>
</Rule>