Собирать "Приложения .NET/Средн. время запроса (мс)"

Microsoft.SystemCenter.Apm.ApplicationInstance.CollectAvgDurationTime (Rule)

Значение счетчика "Приложения .NET/Средн. время запроса (мс)" показывает среднее время, которое требуется приложению для ответа на запросы

Knowledge Base article:

Сводка

Это правило собирает значение счетчика производительности "Приложения .NET/среднее время запроса" для приложений.

Счетчик записывает среднее время (в миллисекундах) обработки запросов приложениями. Хронометраж каждого запроса начинается при получении запроса приложением и останавливается при успешном выполнении запроса или при каком-либо его сбое в коде. Рассчитывается среднее арифметическое этого времени для всех отслеженных запросов. Если время постоянно превышает 10000 мс, это свидетельствует о наличии узкого места в производительности, причину которого необходимо выявить.

Этот счетчик доступен только при включенном наблюдении за производительностью приложений.

Слишком длительные вызовы базы данных могут быть обусловлены неполадкой сервера или структурой и сложностью запроса. Медленные операции ввода-вывода могут быть обусловлены неполадкой файлового сервера. Неполадки производительности веб-служб могут быть вызваны неисправностями сервера, на котором выполняются веб-службы, или неполадками в коде веб-служб. Медленное внутреннее выполнение приложений может быть вызвано излишне сложным или нерациональным кодом.

Element properties:

TargetMicrosoft.SystemCenter.Apm.ApplicationInstance
CategoryPerformanceCollection
EnabledTrue
Instance Name.NET Apps
Counter NameAvg. Request Time
Frequency300
Alert GenerateFalse
RemotableFalse

Member Modules:

ID Module Type TypeId RunAs 
DS DataSource System.Performance.DataProvider Default
WriteToDB WriteAction Microsoft.SystemCenter.CollectPerformanceData Default
WriteToDW WriteAction Microsoft.SystemCenter.DataWarehouse.PublishPerformanceData Default

Source Code:

<Rule ID="Microsoft.SystemCenter.Apm.ApplicationInstance.CollectAvgDurationTime" Enabled="true" Target="Microsoft.SystemCenter.Apm.ApplicationInstance" ConfirmDelivery="false" Remotable="false" Priority="Normal" DiscardLevel="100">
<Category>PerformanceCollection</Category>
<DataSources>
<DataSource ID="DS" TypeID="Performance!System.Performance.DataProvider">
<ComputerName>$Target/Host/Host/Property[Type="Windows!Microsoft.Windows.Computer"]/NetworkName$</ComputerName>
<CounterName>Avg. Request Time</CounterName>
<ObjectName>.NET Apps</ObjectName>
<InstanceName>$Target/Property[Type="Microsoft.SystemCenter.Apm.ApplicationInstance"]/CounterInstance$</InstanceName>
<AllInstances>false</AllInstances>
<Frequency>300</Frequency>
</DataSource>
</DataSources>
<WriteActions>
<WriteAction ID="WriteToDB" TypeID="SC!Microsoft.SystemCenter.CollectPerformanceData"/>
<WriteAction ID="WriteToDW" TypeID="SCDW!Microsoft.SystemCenter.DataWarehouse.PublishPerformanceData"/>
</WriteActions>
</Rule>