Browser Monitoring

In this section, we will look at Browser Monitoring and options available to track application performance. AppDynamics offers two products to monitor browser applications:

• Browser Real User Monitoring (Browser RUM): Monitors how your web application is performing, using real user data to analyze application performance and user experience

• Browser Synthetic Monitoring: Analyzes application availability and performance, using scheduled testing to analyze website availability

Overview of the Controller UI for Browser Monitoring

Browser RUM and Browser Synthetic Monitoring share two dashboards: Browser App Dashboard and Resource Performance Dashboard. Figure 4-18 shows an example of Browser Monitoring.


Figure 4-18 Browser Monitoring

Browser App Dashboard

The Browser App Dashboard provides a high-level understanding of your application’s overall performance. When you first navigate to a browser application, you are defaulted to the Browser App Dashboard’s Overview tab. The Overview tab contains widgets for both browser and synthetic data.

Overview Tab

The Overview tab displays a set of configurable widgets. The default widgets contain multiple graphs and lists featuring common high-level indicators of application performance. Figure 4-19 shows an example of a Browser Application Dashboard.


Figure 4-19 Browser Application Dashboard

Geo Tab

The Geo tab displays key performance metrics by geographic location based on page loads. If you are using Browser Synthetic Monitoring for an application, you can view either “real user” or “synthetic” data using the View drop-down.

The metrics displayed throughout the dashboard are for the region currently selected on the map or in the grid. For example, on the map, if you click France, the widgets and trend graphs update to display data for France. Figure 4-20 shows an example of a Geo Dashboard.


Figure 4-20 Geo Dashboard

Resource Performance Dashboard

The Resource Performance Dashboard provides a high-level understanding of how your resources affect the performance of your browser application. You can use this dashboard to pinpoint resource-related performance issues affecting the user experience, such as the following:

• A prioritized list of resource performance issues generated by comparing their performance against thresholds.

• Changes in the number of resources.

• Large resources (images, JavaScript, CSS, and so on).

• Size increase of resources impacting performance. For example, a page banner might be replaced with an uncompressed image, thus slowing down the page load.

• Slow CDNs.

• Resources that haven’t been compressed.

• Comparison of real user and synthetic resource performance.

Overview of the Resource Performance Dashboard UI

Once you navigate to a browser application, the Resource Performance Dashboard is located on the left-side panel. Figure 4-21 shows the Resource Performance Dashboard.


Figure 4-21 Resource Performance Dashboard

Overview Tab

The Overview tab displays widgets providing high-level indicators of resource performance over a specified time period. The dashboard can be filtered to real user or synthetic data. The widgets only show a small number of resources, but you can click See More to view up to 100 resources per widget. Figure 4-22 shows Overview under Resource Performance.


Figure 4-22 Overview tab

Violations Tab

The Violations tab shows a list of pages, resource types, and domain or resource violations that have exceeded performance thresholds. You can use the Violations tab not to only find problematic resources but also to become aware of sudden changes that negatively impacted the performance of a resource. Clicking a specific violation leads to the Resources tab, and the data is filtered with that violation for further diagnostics. The configured violation rules are evaluated every 10 minutes for the last 30 minutes. Figure 4-23 shows Violations under Resource Performance.


Figure 4-23 Violations tab

The supported violation types include the following:

• Median Domain Load Time

• Average Domain Size

• Average Page Size

• Median Resource Load Time

• Average Resource Size

• Median Resource Type Load Time

• Average Resource Type Size

Resources Tab

You can use the Resources tab to diagnose a problematic resource. You can also add criteria as a filter to the widgets. All use cases to troubleshoot a resource lead to the Resources tab, where you can learn more about an individual resource’s impact on an application. Figure 4-24 illustrates Resource under Resource Performance.


Figure 4-24 Resources tab

Additional Resource Performance Data Information

For the Resource Performance Dashboard to be effective, it is highly recommended that you set the Timing-Allow-Origin HTTP header in all of your CORS (Cross-Origin Resource Sharing) domains to enable access to resource timing information. Without this header, the JavaScript Agent cannot capture the resource size, and, of the supported Resource Timing Metrics, only the resource load time can be calculated.