This rule collects total CPU time used by all current Microsoft Azure SQL Database sessions.
Note that this rule works through T-SQL only.
In order to prevent incorrect data collection, the value of Interval (seconds) overridable parameter should not be set lower than the default value.
This rule collects total amount of CPU time in milliseconds consumed by all the sessions for this database.
Note that this rule works through T-SQL only.
In order to prevent incorrect data collection, the value of Interval (seconds) overridable parameter should not be set lower than the default value.
Name | Description | Default Value |
Enabled | Enables or disables the workflow. | Yes |
Interval (seconds) | The recurring interval of time in seconds in which to run the workflow. Note that interval value should be divisible by 300. | 900 |
Monitoring Mode | Defines monitoring mode. | $Target/Host/Property[Type="Microsoft.SqlServer.Azure.Server"]/MonitoringMode$ |
Synchronization Time | The synchronization time specified by using a 24-hour format. May be omitted. |
|
Timeout (seconds) | Specifies the time the workflow is allowed to run before being closed and marked as failed. | 600 |
Timeout for database connection (seconds) | A period in which the workflow must establish connection to the database. | 30 |
Target | Microsoft.SqlServer.Azure.UserDatabase |
Category | PerformanceCollection |
Enabled | True |
Alert Generate | False |
Remotable | True |
ID | Module Type | TypeId | RunAs |
---|---|---|---|
DS | DataSource | Microsoft.SqlServer.Azure.Module.DatabaseSessionsMonitoringDataSource | Default |
Mapper | ConditionDetection | Microsoft.SqlServer.Azure.Module.PropertyBagPerformanceDataMapper | Default |
WriteToDB | WriteAction | Microsoft.SystemCenter.CollectPerformanceData | Default |
WriteToDW | WriteAction | Microsoft.SystemCenter.DataWarehouse.PublishPerformanceData | Default |
<Rule ID="Microsoft.SqlServer.Azure.PerformanceRule.DatabaseSessionsTotalCpu" Target="Microsoft.SqlServer.Azure.UserDatabase" Enabled="true" ConfirmDelivery="false">
<Category>PerformanceCollection</Category>
<DataSources>
<DataSource ID="DS" TypeID="Microsoft.SqlServer.Azure.Module.DatabaseSessionsMonitoringDataSource">
<IntervalSeconds>900</IntervalSeconds>
<SyncTime/>
<TimeoutSeconds>600</TimeoutSeconds>
<ServerName>$Target/Property[Type="Microsoft.SqlServer.Azure.Database"]/ServerName$</ServerName>
<DatabaseName>$Target/Property[Type="Microsoft.SqlServer.Azure.Database"]/DatabaseName$</DatabaseName>
<UseRest>$Target/Host/Property[Type="Microsoft.SqlServer.Azure.Server"]/UseREST$</UseRest>
<MonitoringMode>$Target/Host/Property[Type="Microsoft.SqlServer.Azure.Server"]/MonitoringMode$</MonitoringMode>
<AuthorityDetails>$Target/Host/Property[Type="Microsoft.SqlServer.Azure.Server"]/AuthorityDetails$</AuthorityDetails>
<SubscriptionId>$Target/Host/Property[Type="Microsoft.SqlServer.Azure.Server"]/Subscription$</SubscriptionId>
<ResourceGroupName>$Target/Host/Property[Type="Microsoft.SqlServer.Azure.Server"]/ResourceGroupName$</ResourceGroupName>
<SqlTimeoutSeconds>30</SqlTimeoutSeconds>
</DataSource>
</DataSources>
<ConditionDetection ID="Mapper" TypeID="Microsoft.SqlServer.Azure.Module.PropertyBagPerformanceDataMapper">
<PropertyName>TotalCPU</PropertyName>
<ObjectName>SQL Azure Database</ObjectName>
<CounterName>Sessions Total CPU Time (ms)</CounterName>
<InstanceName/>
</ConditionDetection>
<WriteActions>
<WriteAction ID="WriteToDB" TypeID="SC!Microsoft.SystemCenter.CollectPerformanceData"/>
<WriteAction ID="WriteToDW" TypeID="SCDW!Microsoft.SystemCenter.DataWarehouse.PublishPerformanceData"/>
</WriteActions>
</Rule>