SQL DB Engine on Linux Average Wait Time performance collection rule
Average Wait Time (Milliseconds) for SQL DBEngine on Linux
The average amount of wait time (milliseconds) for each lock request that resulted in a wait. This counter based on DB engine counter, this counter has identical values for all databases on the one SQL instance.
This is the average wait time in milliseconds to acquire a lock. Lower the value the better it is. If the value goes higher then 500, there may be blocking going on, probably you may to find the cause of blocking and fix it.
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. | 900 |
Timeout (seconds) | Specifies the time the workflow is allowed to run before being closed and marked as failed. | 300 |
Timeout for database connection (seconds) | The workflow will fail and register an event, if it cannot access the database during the specified period. | 15 |
Target | Microsoft.SQLServer.Linux.DBEngine |
Category | PerformanceCollection |
Enabled | True |
Alert Generate | False |
Remotable | True |
ID | Module Type | TypeId | RunAs |
---|---|---|---|
DS | DataSource | Microsoft.SQLServer.Linux.DataSource.SqlOsPerformanceReader | Default |
PerfMapper | ConditionDetection | System.Performance.DataGenericMapper | Default |
WriteToDB | WriteAction | Microsoft.SystemCenter.CollectPerformanceData | Default |
WriteToDW | WriteAction | Microsoft.SystemCenter.DataWarehouse.PublishPerformanceData | Default |
<Rule ID="Microsoft.SQLServer.Linux.CollectionRule.DBEngine.AverageWaitTime" Enabled="true" Target="SqlDiscL!Microsoft.SQLServer.Linux.DBEngine" ConfirmDelivery="false" Remotable="true" Priority="Normal" DiscardLevel="100">
<Category>PerformanceCollection</Category>
<DataSources>
<DataSource ID="DS" TypeID="Microsoft.SQLServer.Linux.DataSource.SqlOsPerformanceReader">
<MachineName>$Target/Property[Type="SqlCoreLib!Microsoft.SQLServer.Core.DBEngine"]/MachineName$</MachineName>
<InstanceName>$Target/Property[Type="SqlCoreLib!Microsoft.SQLServer.Core.DBEngine"]/InstanceName$</InstanceName>
<ConnectionString>$Target/Property[Type="SqlCoreLib!Microsoft.SQLServer.Core.DBEngine"]/ConnectionString$</ConnectionString>
<SqlTimeoutSeconds>15</SqlTimeoutSeconds>
<TimeoutSeconds>300</TimeoutSeconds>
<IntervalSeconds>900</IntervalSeconds>
<ObjectName>$Target/Property[Type="SqlCoreLib!Microsoft.SQLServer.Core.DBEngine"]/PerformanceCounterObject$:Locks</ObjectName>
<PerfInstanceName>_Total</PerfInstanceName>
<PerfParams>
<NameOfHandler>SqlOsPerfCounterReader</NameOfHandler>
<PerformanceCounterObject>$Target/Property[Type="SqlCoreLib!Microsoft.SQLServer.Core.DBEngine"]/PerformanceCounterObject$</PerformanceCounterObject>
<CounterConfig>
<CategoryName>Locks</CategoryName>
<CounterName>Average Wait Time (ms)</CounterName>
<BaseCounterName>Average Wait Time Base</BaseCounterName>
<InstanceSelector>1</InstanceSelector>
<NeedsPrefix>1</NeedsPrefix>
<InstanceIndex>0</InstanceIndex>
</CounterConfig>
</PerfParams>
</DataSource>
</DataSources>
<ConditionDetection ID="PerfMapper" TypeID="SystemPerf!System.Performance.DataGenericMapper">
<ObjectName>SQL DB Engine:Locks</ObjectName>
<CounterName>Average Wait Time (ms)</CounterName>
<InstanceName>_Total</InstanceName>
<Value>$Data/Property[@Name='CounterValue']$</Value>
</ConditionDetection>
<WriteActions>
<WriteAction ID="WriteToDB" TypeID="SC!Microsoft.SystemCenter.CollectPerformanceData"/>
<WriteAction ID="WriteToDW" TypeID="SCDW!Microsoft.SystemCenter.DataWarehouse.PublishPerformanceData"/>
</WriteActions>
</Rule>