The object state is changed to unhealthy when the total number of client-side performance events for a configured transaction exceeds the monitor threshold.
Client-side performance alerts are generated when the page load time for the web application exceeds the configured threshold. The total timing is measured at the web browser, is correlated to server processing time, and then is separated into the following categories that are available in the event details:
When the page load time exceeds the threshold:
Network request and response time
Page redirects
Server response time
Document Object Model (DOM) loading time
Peripheral loading – the amount of time that is spent loading page external resources, such as images and scripts
Running time for Window.OnLoad() client-side event handlers
When the response time for AJAX calls exceed the threshold:
Network request and response time
Server response time
JavaScript execution
Significant amount of time spent in one or a few categories might point to the root cause of the performance problem. For example, the time spent processing network requests and responses might suggest slow network connectivity. Long server response time might be caused by slowly-running server code, and can be further troubleshoot by investigating associated server-side performance alerts. Slow DOM loading might be linked to excessive complexity or size of the application page, or might also point to slow performance of the client browser. Long run times for the Window.OnLoad() event or slow AJAX JavaScript indicate inefficient code on the page or might be due to slow performance of client browser. A large number of page redirects might result from complex or inefficient application code.
Client-side performance alerts are generated when the run time exceeds the configured threshold. Typical application performance degradation causes might be slow performance of the web server, a slow network, or inefficient application code.
You can access additional details about this alert by using the link to the event details available in the Alert Description and on the Alert Context tab. The link opens the event in the Application Diagnostics console. The Application Diagnostics console contains information specific to this event as well as to related and similar events that have been detected.
Target | Microsoft.SystemCenter.Apm.CsmWebPageTransaction | ||
Category | Alert | ||
Enabled | False | ||
Alert Generate | True | ||
Alert Severity | Warning | ||
Alert Priority | Normal | ||
Remotable | False | ||
Alert Message |
|
ID | Module Type | TypeId | RunAs |
---|---|---|---|
LOBProvider | DataSource | Microsoft.SystemCenter.Apm.Csm.CsmWebPageTransaction.LobDataProvider | Default |
AlertWriteAction | WriteAction | System.Health.GenerateAlert | Default |
<Rule ID="Microsoft.SystemCenter.Apm.CsmWebPageTransaction.AlertPerformanceAspectRule" Enabled="false" ConfirmDelivery="false" Target="Microsoft.SystemCenter.Apm.CsmWebPageTransaction" Remotable="false">
<Category>Alert</Category>
<DataSources>
<DataSource ID="LOBProvider" TypeID="Microsoft.SystemCenter.Apm.Csm.CsmWebPageTransaction.LobDataProvider">
<Name>$Target/Host/Property[Type="AL!Microsoft.SystemCenter.Apm.ApplicationInstanceBase"]/ApplicationName$ (Client)</Name>
<AspectType>performance</AspectType>
<RootName>$Target/Property[Type="Microsoft.SystemCenter.Apm.CsmWebPageTransaction"]/PageName$</RootName>
</DataSource>
</DataSources>
<WriteActions>
<WriteAction ID="AlertWriteAction" TypeID="Health!System.Health.GenerateAlert">
<Priority>1</Priority>
<Severity>1</Severity>
<AlertMessageId>$MPElement[Name='Microsoft.SystemCenter.Apm.CsmWebPageTransaction.AlertPerformanceAspectRule.AlertMessage']$</AlertMessageId>
<AlertParameters>
<AlertParameter1>$Data/EventData/log/properties/property[name="scomProblemDescription"]/value$</AlertParameter1>
<AlertParameter2>$Data/EventData/log/alertingThreshold$</AlertParameter2>
<AlertParameter3>$Target/Host/Property[Type="AL!Microsoft.SystemCenter.Apm.ApplicationInstanceBase"]/ApplicationName$</AlertParameter3>
<AlertParameter4>$Target/Host/Host/Host/Property[Type="Windows!Microsoft.Windows.Computer"]/PrincipalName$</AlertParameter4>
<AlertParameter5>$Target/Property[Type="AL!Microsoft.SystemCenter.Apm.TransactionBase"]/TransactionName$</AlertParameter5>
<AlertParameter6>$Data/EventData/ViewDetail$</AlertParameter6>
</AlertParameters>
<Suppression>
<SuppressionValue>$Data/EventData/eventConsolidationHash$</SuppressionValue>
</Suppression>
<Custom1>Performance</Custom1>
</WriteAction>
</WriteActions>
</Rule>