Samla in .NET-statistik/genomsn. körningstid (ms)

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

Samla in prestandaräknaren.NET-statistik/genomsn. körningstid (ms)

Knowledge Base article:

Sammanfattning

Instansen övergår i feltillstånd om den genomsnittliga begärandetiden per angiven tidsperiod överskrider övervakarens tröskelvärde.

Orsaker

Aviseringar om transaktionsprestanda genereras när antalet prestandahändelser överskrider övervakarens angivna tröskelvärde.

Överdrivet långa databasanrop kan orsaka problem med servern eller med strukturen och komplexiteten i frågan. Långa skriv- och lästider av en fil kan bero på problem med filservern. Problem med webbtjänstprestanda kan uppstå om webbtjänsten eller servern där den lagras är nere eller om det finns problem i webbtjänstkoden. Långa interna körningstider för program kan bero på komplex eller ineffektiv kod.

Lösningar

Normal försämring av programprestandan kan bero på ett långt databasanrop, ett långt webbtjänstanrop, ett långsamt .NET-fjärranrop, ett långsamt COM+-anrop eller en ineffektiv programkod.

Element properties:

TargetMicrosoft.SystemCenter.Apm.Transaction
Parent MonitorSystem.Health.PerformanceState
CategoryCustom
EnabledFalse
Instance Name.NET Statistic
Counter NameAvg execution time
Alert GenerateTrue
Alert SeverityMatchMonitorHealth
Alert PriorityNormal
Alert Auto ResolveTrue
Monitor TypeSystem.Performance.ConsecutiveSamplesThreshold
RemotableFalse
AccessibilityPublic
Alert Message
.NET-statistik/genomsn. körningstid har överskridit tröskelvärdet
Prestandaräknaren .NET-statistik/genomsn. körningstid har överskridit det angivna tröskelvärdet på {0} ms. Prestandaräknarens värde var {1} ms.
RunAsDefault

Source Code:

<UnitMonitor ID="Microsoft.SystemCenter.Apm.Transaction.AvgRequestTimeMonitor" Accessibility="Public" Enabled="false" Target="Microsoft.SystemCenter.Apm.Transaction" ParentMonitorID="Health!System.Health.PerformanceState" Remotable="false" Priority="Normal" TypeID="Performance!System.Performance.ConsecutiveSamplesThreshold" ConfirmDelivery="false">
<Category>Custom</Category>
<AlertSettings AlertMessage="Microsoft.SystemCenter.Apm.Transaction.AvgRequestTimeMonitor.AlertMessage">
<AlertOnState>Warning</AlertOnState>
<AutoResolve>true</AutoResolve>
<AlertPriority>Normal</AlertPriority>
<AlertSeverity>MatchMonitorHealth</AlertSeverity>
<AlertParameters>
<AlertParameter1>$Target/Property[Type="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>Avg execution time</CounterName>
<ObjectName>.NET Statistic</ObjectName>
<InstanceName>$Target/Property[Type="Microsoft.SystemCenter.Apm.Transaction"]/CounterInstance$</InstanceName>
<AllInstances>false</AllInstances>
<Frequency>$Target/Property[Type="Microsoft.SystemCenter.Apm.TransactionBase"]/AvgRequestTimeMonitorInterval$</Frequency>
<Threshold>$Target/Property[Type="Microsoft.SystemCenter.Apm.TransactionBase"]/AvgRequestTimeMonitorThreshold$</Threshold>
<Direction>greater</Direction>
<NumSamples>3</NumSamples>
</Configuration>
</UnitMonitor>