Mobile Application Performance Monitoring With Pulse for Mobile
Pulse for mobile allows you to find out what's wrong with your mobile application well before any problems affect users.
Join the DZone community and get the full member experience.Join For Free
Maintaining a successful mobile application is not easy unless you know exactly how your end users are being affected by performance issues like page load speed. Being able to monitor your mobile application performance metrics and understanding what’s breaking or running slowly in real time gives you the power to improve and fix anything that’s broken.
You may be curious to see exactly the data Pulse for mobile provides around performance. Today, I’m going to delve specifically into the ‘Performance’ tab, where you will find this information.
Mobile Application Performance Monitoring
Inside the Pulse for mobile dashboard, you will gain the information that you need to understand your mobile application more, including:
- How often your application is being used.
- How many new and returning users you have.
- Which country your application is used from.
- How your end users are navigating your application.
Once usage data is flowing from your mobile application, your Pulse for mobile dashboard will become active. Navigating the dashboard is easy. The tabs along the top of the Pulse window give you the high-level categories that you can discover about your application:
As mentioned above, I’m interested in the application performance right now, which you can see under the Performance tab. The overall performance of your application is broken down into network call performance, slowest views and load time distribution. Let’s take a look at these in detail:
Network Call Performance
The two events that Pulse for mobile will log are the performance of network and API calls and view loads. Below is an example of some network calls:
Next to each network call, you can see the number of times it’s been requested from your mobile application, the number of sessions and end users, and the average performance of the call. This table is ordered, so straight away you’ll see the slowest network call which helps prioritize what to improve next. This could mean for example that a database query is too slow and needs evaluating.
Slowest views displays the number of times each view has been visited and the performance of loading each view, ordered by the slowest one. In the example below, you can see that the view DataViewController is performing poorly.
Load Time Distribution
Load time distribution is a graph which shows your mobile application’s performance over time. This is where you can analyze trends or see sudden changes. In the graph below, something has recently happened that’s caused a usually fast application to slow down. This may be related to the slowest performing view. Looking at the changes or additions made to the recent deployment of the application (specifically around the slowest view) would be a good place to start resolving this issue:
The data along this graph is split into three percentiles. The first 10% fastest performance values get displayed as green and the slowest 10% performance values are red. The remaining 80% average performance times are gray which are the main values to focus on. If the red and gray values are far apart, then the slowest values can be considered as outliers and perhaps less important to look into. If the red and gray values are both high, then you’ve got a performance issue that could be affecting the vast majority of your end users. Ideally, you want all values to be as low as possible.
How Is Your Mobile Application Performing?
This has been a quick look into the main performance data that Pulse for mobile reveals about your mobile application. Monitoring mobile application performance metrics can help make your mobile application more successful. As you navigate around your Pulse for your mobile dashboard, you’ll see performance metrics displayed elsewhere too, such as when listing the most frequently visited views, or when drilling down into individual sessions.
Published at DZone with permission of Jason Fauchelle, DZone MVB. See the original article here.
Opinions expressed by DZone contributors are their own.