Samla in .NET-prog/\% prestandahändelser/sek

Microsoft.SystemCenter.Apm.ApplicationInstance.CollectPerformanceEventsRate (Rule)

Prestandaräknaren .NET-program/prestandahändelser i procent/sek visar procentandelen aktiverade prestandahändelser per sekund. Siffran kan vara högre än 100 \% om ett stort antal begäranden körs länge och överskrider händelseavsökningsperioden

Knowledge Base article:

Sammanfattning

Denna regel samlar programprestandaräknarvärden på .NET-programprestandahändelser.

Denna räknare registrerar antalet prestandahändelser per sekund som har genererats av ett program. Antalet händelser som registreras av denna räknare baseras på uppgifter om t.ex. agentkonfiguration, tröskelnivåer och aktiverade namnområden. Värdet på denna räknare kan vara större än antalet prestandahändelser som har rapporterats till programdiagnostikkonsolen, för det inbegriper även händelser som har undertryckts av Händelsebegränsning.

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.ApplicationInstance
CategoryPerformanceCollection
EnabledTrue
Instance Name.NET Apps
Counter Name\% Performance Events/sec
Frequency300
Alert GenerateFalse
RemotableFalse

Member Modules:

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

Source Code:

<Rule ID="Microsoft.SystemCenter.Apm.ApplicationInstance.CollectPerformanceEventsRate" Enabled="true" Target="Microsoft.SystemCenter.Apm.ApplicationInstance" ConfirmDelivery="false" Remotable="false" Priority="Normal" DiscardLevel="100">
<Category>PerformanceCollection</Category>
<DataSources>
<DataSource ID="DS" TypeID="Performance!System.Performance.DataProvider">
<ComputerName>$Target/Host/Host/Property[Type="Windows!Microsoft.Windows.Computer"]/NetworkName$</ComputerName>
<CounterName>% Performance Events/sec</CounterName>
<ObjectName>.NET Apps</ObjectName>
<InstanceName>$Target/Property[Type="Microsoft.SystemCenter.Apm.ApplicationInstance"]/CounterInstance$</InstanceName>
<AllInstances>false</AllInstances>
<Frequency>300</Frequency>
</DataSource>
</DataSources>
<WriteActions>
<WriteAction ID="WriteToDB" TypeID="SC!Microsoft.SystemCenter.CollectPerformanceData"/>
<WriteAction ID="WriteToDW" TypeID="SCDW!Microsoft.SystemCenter.DataWarehouse.PublishPerformanceData"/>
</WriteActions>
</Rule>