Collect .NET CSM Apps/\% Exceptions/sec

Microsoft.SystemCenter.Apm.CsmApplicationInstance.ExceptionRateMonitor (UnitMonitor)

Collect .NET CSM Apps/\% Exceptions/sec performance counter

Knowledge Base article:

Summary

The instance state becomes unhealthy if the rate of client-side exception events per defined time period exceeds the monitor threshold.

Causes

Application client-side exception alerts are generated when the rate of exception events exceeds the configured monitor threshold.

The counter is incremented when an unhandled JavaScript exception occurs.

Resolutions

To resolve these exceptions, check the exception message, exception line number and the function from which the exception was thrown. Resolution of these types of problems typically requires access to application source code.

Element properties:

TargetMicrosoft.SystemCenter.Apm.CsmApplicationInstance
Parent MonitorSystem.Health.AvailabilityState
CategoryCustom
EnabledFalse
Instance Name.NET CSM Apps
Counter Name\% of Exceptions/sec
Alert GenerateTrue
Alert SeverityMatchMonitorHealth
Alert PriorityNormal
Alert Auto ResolveTrue
Monitor TypeSystem.Performance.ConsecutiveSamplesThreshold
RemotableFalse
AccessibilityPublic
Alert Message
.NET CSM Apps/\% Exceptions/sec exceeded the threshold
The .NET CSM Apps/\% Exceptions/sec performance counter has exceeded the configured threshold of {0}\%. The performance counter value was {1}\%.
RunAsDefault

Source Code:

<UnitMonitor ID="Microsoft.SystemCenter.Apm.CsmApplicationInstance.ExceptionRateMonitor" Accessibility="Public" Enabled="false" Target="Microsoft.SystemCenter.Apm.CsmApplicationInstance" ParentMonitorID="Health!System.Health.AvailabilityState" Remotable="false" Priority="Normal" TypeID="Performance!System.Performance.ConsecutiveSamplesThreshold" ConfirmDelivery="false">
<Category>Custom</Category>
<AlertSettings AlertMessage="Microsoft.SystemCenter.Apm.CsmApplicationInstance.ExceptionRateMonitor.AlertMessage">
<AlertOnState>Warning</AlertOnState>
<AutoResolve>true</AutoResolve>
<AlertPriority>Normal</AlertPriority>
<AlertSeverity>MatchMonitorHealth</AlertSeverity>
<AlertParameters>
<AlertParameter1>$Target/Property[Type="AL!Microsoft.SystemCenter.Apm.ApplicationInstanceBase"]/ExceptionRateMonitorThreshold$</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/Property[Type="Windows!Microsoft.Windows.Computer"]/NetworkName$</ComputerName>
<CounterName>% of Exceptions/sec</CounterName>
<ObjectName>.NET CSM Apps</ObjectName>
<InstanceName>$Target/Property[Type="Microsoft.SystemCenter.Apm.CsmApplicationInstance"]/CounterInstance$</InstanceName>
<AllInstances>false</AllInstances>
<Frequency>$Target/Property[Type="AL!Microsoft.SystemCenter.Apm.ApplicationInstanceBase"]/ExceptionRateMonitorInterval$</Frequency>
<Threshold>$Target/Property[Type="AL!Microsoft.SystemCenter.Apm.ApplicationInstanceBase"]/ExceptionRateMonitorThreshold$</Threshold>
<Direction>greater</Direction>
<NumSamples>3</NumSamples>
</Configuration>
</UnitMonitor>