Coletar Estatísticas do .NET/Tempo Médio de Solicitações (s)

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

Coleta o contador de desempenho Estatísticas do .NET/tempo médio de Solicitações (s) - Contador de desempenho

Knowledge Base article:

Resumo

Essa regra coleta o contador de desempenho Estatística do .NET\Tempo médio de execução para transações.

O contador registra o tempo médio (em segundos) necessário para que uma solicitação seja processada por uma transação. O tempo de cada solicitação começa a partir do momento em que ela alcança o aplicativo, parando quando essa solicitação é concluída com êxito ou falha em um determinado ponto no código. A média da soma desses tempos é calculada com base no número total de solicitações monitoradas. Se esse tempo excede 10000 ms constantemente, é um indício de afulinamento que deve ser investigado.

Esse contador só está disponível quando o monitoramento do desempenho de aplicativos está habilitado.

Chamadas de banco de dados excessivamente longas podem estar relacionadas a um problema com o servidor ou com a estrutura e a complexidade da consulta. Tempos longos de E/S de arquivo podem estar relacionados a problemas com o servidor de arquivos. Problemas de desempenho de serviços Web podem ocorrer porque o serviço Web ou o servidor no qual ele reside está inoperante ou porque há um problema no código desse serviço Web. Tempos longos de execução interna para aplicativos podem ser o resultado de um código complexo ou ineficiente.

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>