Collect .NET CSM Statistic/\% of Exceptions/sec

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

Collect .NET CSM Statistic/\% of 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

Transaction client side exception alerts are generated when the rate of exception events exceeds the transaction 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 that the exception was thrown from. Resolution of these types of problems typically requires access to application source code.

Element properties:

TargetMicrosoft.SystemCenter.Apm.CsmTransaction
Parent MonitorSystem.Health.AvailabilityState
CategoryCustom
EnabledFalse
Instance Name.NET CSM Statistic
Counter Name\% of Exceptions/sec
Alert GenerateTrue
Alert SeverityMatchMonitorHealth
Alert PriorityNormal
Alert Auto ResolveTrue
Monitor TypeSystem.Performance.ConsecutiveSamplesThreshold
RemotableFalse
AccessibilityPublic
Alert Message
.NET CSM Statistic/\% of Exceptions/sec exceeded the threshold
The .NET CSM Statistic/\% of 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.CsmTransaction.ExceptionRateMonitor" Accessibility="Public" Enabled="false" Target="Microsoft.SystemCenter.Apm.CsmTransaction" ParentMonitorID="Health!System.Health.AvailabilityState" Remotable="false" Priority="Normal" TypeID="Performance!System.Performance.ConsecutiveSamplesThreshold" ConfirmDelivery="false">
<Category>Custom</Category>
<AlertSettings AlertMessage="Microsoft.SystemCenter.Apm.CsmTransaction.ExceptionRateMonitor.AlertMessage">
<AlertOnState>Warning</AlertOnState>
<AutoResolve>true</AutoResolve>
<AlertPriority>Normal</AlertPriority>
<AlertSeverity>MatchMonitorHealth</AlertSeverity>
<AlertParameters>
<AlertParameter1>$Target/Property[Type="AL!Microsoft.SystemCenter.Apm.TransactionBase"]/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/Host/Property[Type="Windows!Microsoft.Windows.Computer"]/NetworkName$</ComputerName>
<CounterName>% of Exceptions/sec</CounterName>
<ObjectName>.NET CSM Statistic</ObjectName>
<InstanceName>$Target/Property[Type="Microsoft.SystemCenter.Apm.CsmTransaction"]/CounterInstance$</InstanceName>
<AllInstances>false</AllInstances>
<Frequency>$Target/Property[Type="AL!Microsoft.SystemCenter.Apm.TransactionBase"]/ExceptionRateMonitorInterval$</Frequency>
<Threshold>$Target/Property[Type="AL!Microsoft.SystemCenter.Apm.TransactionBase"]/ExceptionRateMonitorThreshold$</Threshold>
<Direction>greater</Direction>
<NumSamples>3</NumSamples>
</Configuration>
</UnitMonitor>