Poor network performance can lead to an unsatisfied user experience and is often perceived by the user as a failure in the mobile application. So it’s important to examine the performance of the network and identify bottlenecks.
Mobile Analytics gives you many ways to examine the performance of your network. You can get an overview that displays the number of requests made by your app, a count of errors, and the response time for the requests. You can also get a more specific focus on network performance. For instance, you can examine the network performance for specific carriers (such as AT&T or Verizon), or network types (such as 3G or 4G), or by versions of your app.
You can track trends visually in graphs and drill down to see in-depth data.
With this information, you can identify and eliminate performance bottlenecks, and in that way improve the user experience with your app. For an example, see Investigate issues in your mobile application.
To display network performance data for your app, select Analytics in the main menu of the Mobile Analytics portal. Then select Network Performance in the left navigation menu. This expands the Network Performance menu item and opens the Overview. Make sure that the application shown in the Application drop-down menu on the Overview page is your app. If not, select it in the drop-down menu.
Here are the various ways you can view network performance data. For each view, you get:
- A graph that plots network performance data for given points in time during a specified time period.
- A summary table of the network performance data over the time period.
- A table that lists the raw network performance data over the time period captured for each point in time.
|Network performance view||What it displays|
|Overview||Number of network requests, number of network errors, and response time.|
|Errors||Number of network errors.|
|Response Time||Response time for network requests (in milliseconds).|
|Slow Response Time||Response time above 2 seconds for requests.|
|Errors by Network Types||Number of errors for each network type (such as 3G, 4G, and Wifi).|
|Response Time by Network Types||Response time for each network type (in milliseconds).|
|Slow Response Time by Network Types||Response time above 2 seconds for each network type.|
|Errors by Carriers||Number of network errors by carrier (such as AT&T, Sprint, and Verizon).|
|Slow Response Time by Carriers||Response time above 2 seconds for each carrier (such as AT&T, Sprint, and Verizon).|
|Errors by App Versions||Number of errors for each app version.|
|Response Time by App Versions||Response time for each app version (in milliseconds).|
|Slow Response Time by App Versions||Response time above 2 seconds for each app version.|
|Errors by Config Overrides||Number of errors for each configuration specified for your app. This can include default configurations, beta test configurations, and A/B test configurations.|
|Response Time by Config Overrides||Response time (in milliseconds) for each configuration specified for your app. This can include default configurations, beta test configurations, and A/B test configurations.|
|Slow response Time by Config Overrides||Response time above 2 seconds for each configuration specified for your app. This can include default configurations, beta test configurations, and A/B test configurations.|
Select the time period for the display by selecting one of the following buttons:
- 1h. The previous hour. This is the default.
- 3h. The previous three hours.
- 6h. The previous six hours.
- 12h. The previous twelve hours.
- 1d. The previous day (24 hours).
- 1w. The previous week (7 days).
For example, here is the Overview for an app over the previous hour.
Here is the Response Time view over the previous day:
You can also display a view that compares network performance data for the currently selected time period with the same period yesterday or last week. You do this by checking a “Compare with” checkbox above the graph. For example, if the current view is for an hour, you can compare the network performance data with the data captured for the same hour yesterday, or the same hour last week. Here is a display that compares response times by network types for the previous hour with the same hour yesterday:
Look for network types, carriers, or device configurations that are particularly slow or for which performance is degrading over time.
If you select a “Compare with” checkbox, the summary displays two rows, one for the current period and one for the previous period. The row for the previous period indicates the percentage difference between the previous and current period. For example, a value of -10% in the row indicates that the value for that metric was 10 percent less than for the current period. A value of 5%, indicates that the value for that metric was 5 percent higher than for the current period.
Below the graph and the network metrics summary, you’ll see a table that lists the data captured for each recorded point in time over the current time period. The data for each recorded point in time covers one or more network requests to a specific URL for a specific network type and carrier. The columns of the table list the following information:
- Timestamp. The time stamp of the data capture.
- URL. The URL of the web service for the requests.
- Response Time. The response time for the requests (in milliseconds).
- Errors. The number of errors in response to the requests (such as 3G, 4G, and Wifi).
- Platform. The platform for the device (such as iOS or Android).
- OS. The platform version for the device (such as iOS 6 or Android 3.2).
- Model. The device model (such as Apple iPhone 4g).
- Network Type. The type of the network (such as 3g, 4g, and wifi).
- Carrier. The carrier (such as AT&T, Sprint, and Verizon).
- App Version. The version of the app.
- Conf Type. The app configuration (such as Default or Beta test).
The raw data can be very valuable in isolating performance bottlenecks. For example, by looking for slow response times and their corresponding URLs, you can determine which web services are performance inhibitors.
Each of the table columns is configurable. By clicking the down arrow next to a table column heading, you can sort the data in a column by ascending or descending order, group the data in the column, or remove or re-add a column from or to the display. Seldom used columns are hidden by default. The Platform, OS, Model, App Version, and Conf Type columns are initially hidden. You can make any of those columns visible by clicking on the down arrow, then selecting Columns, and checking the checkbox for the appropriate column.