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

Microsoft.SystemCenter.Apm.CsmApplicationInstance.AvgRequestTimeMonitor (UnitMonitor)

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

Knowledge Base article:

Краткое описание

Экземпляр переходит в неработоспособное состояние, если среднее время запроса для загрузки веб-страницы в браузере за заданный промежуток времени превышает пороговое значение мониторинга.

Причины

Предупреждения о производительности приложения создаются, когда средняя длительность событий производительности клиента превышает пороговое значение мониторинга.

Чрезмерно длительное время выполнения сетевых запросов может быть связано с неудачной конфигурацией сети.

Длительное время обработки сервером может быть связано со сложностью или низкой производительностью исходного кода.

Проблемы со временем загрузки страниц могут быть связаны с большим размером страниц или большим количеством сценариев JavaScript.

Проблемы с производительностью Window.OnLoad могут быть связаны с длительным выполнением обработчиков JavaScript.

Решения

Обычно длительный вызов загрузки страницы связан с неудачной конфигурацией сети, длительным временем обработки на сервере, длительной загрузкой страницы или большим значением времени Window.OnLoad

Element properties:

TargetMicrosoft.SystemCenter.Apm.CsmApplicationInstance
Parent MonitorSystem.Health.PerformanceState
CategoryCustom
EnabledFalse
Instance Name.NET CSM Apps
Counter NameAverage page request execution time
Alert GenerateTrue
Alert SeverityMatchMonitorHealth
Alert PriorityNormal
Alert Auto ResolveTrue
Monitor TypeSystem.Performance.ConsecutiveSamplesThreshold
RemotableFalse
AccessibilityPublic
Alert Message
Монитор "Приложения .NET CSM/Средн. время запроса превышает пороговое значение.
Значение "Приложения .NET CSM/среднее время выполнения" превышает настроенное пороговое значение {0} мс. Значение счетчика производительности было равно {1} мс.
RunAsDefault

Source Code:

<UnitMonitor ID="Microsoft.SystemCenter.Apm.CsmApplicationInstance.AvgRequestTimeMonitor" Accessibility="Public" Enabled="false" Target="Microsoft.SystemCenter.Apm.CsmApplicationInstance" ParentMonitorID="Health!System.Health.PerformanceState" Remotable="false" Priority="Normal" TypeID="Performance!System.Performance.ConsecutiveSamplesThreshold" ConfirmDelivery="false">
<Category>Custom</Category>
<AlertSettings AlertMessage="Microsoft.SystemCenter.Apm.CsmApplicationInstance.AvgRequestTimeMonitor.AlertMessage">
<AlertOnState>Warning</AlertOnState>
<AutoResolve>true</AutoResolve>
<AlertPriority>Normal</AlertPriority>
<AlertSeverity>MatchMonitorHealth</AlertSeverity>
<AlertParameters>
<AlertParameter1>$Target/Property[Type="AL!Microsoft.SystemCenter.Apm.ApplicationInstanceBase"]/AvgRequestTimeMonitorThreshold$</AlertParameter1>
<AlertParameter2>$Data/Context/SampleValue$</AlertParameter2>
</AlertParameters>
</AlertSettings>
<OperationalStates>
<OperationalState ID="Success" MonitorTypeStateID="ConditionFalse" HealthState="Success"/>
<OperationalState ID="Warning" MonitorTypeStateID="ConditionTrue" HealthState="Warning"/>
</OperationalStates>
<Configuration>
<ComputerName>$Target/Host/Host/Property[Type="Windows!Microsoft.Windows.Computer"]/NetworkName$</ComputerName>
<CounterName>Average page request execution time</CounterName>
<ObjectName>.NET CSM Apps</ObjectName>
<InstanceName>$Target/Property[Type="Microsoft.SystemCenter.Apm.CsmApplicationInstance"]/CounterInstance$</InstanceName>
<AllInstances>false</AllInstances>
<Frequency>$Target/Property[Type="AL!Microsoft.SystemCenter.Apm.ApplicationInstanceBase"]/AvgRequestTimeMonitorInterval$</Frequency>
<Threshold>$Target/Property[Type="AL!Microsoft.SystemCenter.Apm.ApplicationInstanceBase"]/AvgRequestTimeMonitorThreshold$</Threshold>
<Direction>greater</Direction>
<NumSamples>3</NumSamples>
</Configuration>
</UnitMonitor>