Collect .NET Apps/\% Exception Events/sec

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

The .NET Apps/\% Exception Events/sec counter provides the percentage of exception events raised per second. This number can be higher than 100\% if multiple exceptions are consistency being raised per request

Knowledge Base article:

Summary

This rule collects .NET Apps % Exception Events/sec performance counter for applications.

This counter records the rate of exception events generated by an application that has been configured for application performance monitoring. The number of events recorded by this counter is based on information, such as the agent configuration, the proportion of critical exceptions to all exceptions, and customized exception handlers. This counter might be larger than the rate of exception events reported to Application Diagnostic console, because it also includes events that are suppressed by Event Throttling. The value of this counter might be above 100% because the monitored requests are consistently raising multiple exceptions per request.

This counter is only available when application performance monitoring is enabled.

The counter is incremented when an unhandled exception occurs. To resolve these exceptions, check the exception type and the function that the exception was thrown from. Resolution of these types of problems typically requires access to application source code.

Element properties:

TargetMicrosoft.SystemCenter.Apm.ApplicationInstance
CategoryPerformanceCollection
EnabledTrue
Instance Name.NET Apps
Counter Name\% Exception 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.CollectExceptionEventsRate" 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>% Exception 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>