Samla in .NET-statistik/genomsn. tid för begäran (sek)

Microsoft.SystemCenter.Apm.Transaction.CollectAvgDurationTimeSeconds (Rule)

Samlar in prestandaräknaren .NET-statistik/genomsn. tid för begäran (sek)

Knowledge Base article:

Sammanfattning

Denna regel samlar transaktionsprestandaräknarvärden på genomsnittlig exekveringstid för .NET-statistik.

Räknaren registrerar genomsnittstiden (i sekunder) som det tar för en begäran att bearbetas av en transaktion. Tidtagningen av en begäran börjar när den når programmet och stoppas när begäran slutförs eller misslyckas någonstans i programkoden. Genomsnittet av summan av dessa tider beräknas på det totala antalet övervakade begäranden. Om denna tid upprepade gånger överskrider 10000 ms, tyder det på en flaskhals som bör undersökas.

Den här räknaren är endast tillgänglig om programprestandaövervakning har aktiverats.

Ö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.

Element properties:

TargetMicrosoft.SystemCenter.Apm.Transaction
CategoryPerformanceCollection
EnabledTrue
Instance Name.NET Statistic
Counter NameAvg execution time
Frequency300
Alert GenerateFalse
RemotableFalse

Member Modules:

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

Source Code:

<Rule ID="Microsoft.SystemCenter.Apm.Transaction.CollectAvgDurationTimeSeconds" Enabled="true" Target="Microsoft.SystemCenter.Apm.Transaction" ConfirmDelivery="false" Remotable="false" Priority="Normal" DiscardLevel="100">
<Category>PerformanceCollection</Category>
<DataSources>
<DataSource ID="DS" TypeID="Performance!System.Performance.DataProvider">
<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>300</Frequency>
<ScaleBy>1000</ScaleBy>
</DataSource>
</DataSources>
<ConditionDetection TypeID="Performance!System.Performance.DataGenericMapper" ID="Mapper">
<ObjectName>.NET Statistic</ObjectName>
<CounterName>Avg execution time (seconds)</CounterName>
<InstanceName>$Target/Property[Type="Microsoft.SystemCenter.Apm.Transaction"]/CounterInstance$</InstanceName>
<Value>$Data/Value$</Value>
</ConditionDetection>
<WriteActions>
<WriteAction ID="WriteToDB" TypeID="SC!Microsoft.SystemCenter.CollectPerformanceData"/>
<WriteAction ID="WriteToDW" TypeID="SCDW!Microsoft.SystemCenter.DataWarehouse.PublishPerformanceData"/>
</WriteActions>
</Rule>