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

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

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

Knowledge Base article:

Сводка

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

Причины

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

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

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

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

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

Решения

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

Element properties:

TargetMicrosoft.SystemCenter.Apm.CsmTransaction
Parent MonitorSystem.Health.PerformanceState
CategoryCustom
EnabledFalse
Instance Name.NET CSM Statistic
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.CsmTransaction.AvgRequestTimeMonitor" Accessibility="Public" Enabled="false" Target="Microsoft.SystemCenter.Apm.CsmTransaction" ParentMonitorID="Health!System.Health.PerformanceState" Remotable="false" Priority="Normal" TypeID="Performance!System.Performance.ConsecutiveSamplesThreshold" ConfirmDelivery="false">
<Category>Custom</Category>
<AlertSettings AlertMessage="Microsoft.SystemCenter.Apm.CsmTransaction.AvgRequestTimeMonitor.AlertMessage">
<AlertOnState>Warning</AlertOnState>
<AutoResolve>true</AutoResolve>
<AlertPriority>Normal</AlertPriority>
<AlertSeverity>MatchMonitorHealth</AlertSeverity>
<AlertParameters>
<AlertParameter1>$Target/Property[Type="AL!Microsoft.SystemCenter.Apm.TransactionBase"]/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/Host/Property[Type="Windows!Microsoft.Windows.Computer"]/NetworkName$</ComputerName>
<CounterName>Average page request execution time</CounterName>
<ObjectName>.NET CSM Statistic</ObjectName>
<InstanceName>$Target/Property[Type="Microsoft.SystemCenter.Apm.CsmTransaction"]/CounterInstance$</InstanceName>
<AllInstances>false</AllInstances>
<Frequency>$Target/Property[Type="AL!Microsoft.SystemCenter.Apm.TransactionBase"]/AvgRequestTimeMonitorInterval$</Frequency>
<Threshold>$Target/Property[Type="AL!Microsoft.SystemCenter.Apm.TransactionBase"]/AvgRequestTimeMonitorThreshold$</Threshold>
<Direction>greater</Direction>
<NumSamples>3</NumSamples>
</Configuration>
</UnitMonitor>