Collecter les statistiques .NET/temps d'exécution moyen (ms)

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

Compteur de performances Collecter les statistiques .NET/temps d'exécution moyen (ms)

Knowledge Base article:

Résumé

L'état d'instance devient non intègre si la durée moyenne de la demande par période définie dépasse le seuil d'analyse.

Causes

Les alertes de performances des transactions sont générées lorsque le nombre d'événements de performances dépasse le seuil d'analyse configuré.

Un problème de serveur ou de structure et complexité de la demande peut être à l'origine des appels excessivement longs de la base de données. Des problèmes de serveur de fichiers peuvent être à l'origine des temps d'E/S longs. Des problèmes de performances des services Web peuvent survenir en cas d'arrêt du service Web ou du serveur hébergeant le service ou en cas de problème dans le code du service Web. Des temps longs d'exécution interne des applications peuvent venir d'un code complexe ou inefficace.

Résolutions

Un appel de base de données long, un appel de service Web long, un appel distant .NET lent, un appel COM+ lent ou du code d'application inefficace peuvent être autant de causes habituelles de la dégradation des performances des applications.

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
Les statistiques .NET/temps d'exécution moyen a dépassé le seuil
Le compteur de performances de statistiques .NET/temps d'exécution moyen a dépassé le seuil configuré de {0} ms. La valeur du compteur de performances était {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>