Tools and Platforms for Mobile App Analytics. Part I: Performance and Errors

March 14, 2016

No mobile app is immune to outages, errors, lagging and other kinds of unpleasant behaviour. There could be a million of reasons, from a typo in your code to issues with third-party APIs to incompatibility with certain hardware. Your task as a mobile app developer is to fight the problem and fix it as soon as possible – preferably before your customers even become aware of it.

The first step towards winning the performance battle is knowing your enemy, i.e. understanding what goes wrong, when, on which devices and how often. To obtain this information, you need to pick a set of performance analytics tools that would collect the data and provide you with valuable insights.

We’ve come up with a list of tools and platforms worth checking out that can help you significantly in your fight for perfection.


Analytics type: performance, usage, marketing metrics
Price: free Lite version, custom-priced Pro version


As opposed to many other app performance monitoring solutions, AppDynamics is available on premise—which could be a good thing depending on how you prefer to have things running. Apparently the solution is aimed at enterprise clients rather than startups, though it’s still worth looking at.

This comprehensive suite consists of four modules: end-user monitoring, application performance management (APM), infrastructure visibility, and application analytics.

End-user monitoring for mobile apps does what the name suggests, i.e. tracks user sessions in real time, shows the flows in the app, tracks reasons of the app crashing, etc. In addition to that, you can see all network requests from the app together with the data on latencies and errors, which helps to identify current and potential bottlenecks.

There’s also a possibility to do synthetic monitoring, i.e. get measurements generated by the platform’s cloud-based agent. It allows to schedule monitoring jobs, as well as immediately retest on error conditions to avoid false positive alerts.

The APM module is a good way to figure out what’s going on in a highly distributed application. It can work with apps written in Java, .NET, PHP, JavaScript (Node.js), C++, and Python and isolate issues at the code level.

The infrastructure visibility module monitors server and database performance in a comprehensive way, providing all the important stats in one dashboard.

The last module, application analytics, is somewhat similar to end-user monitoring, but this time it’s about the marketing metrics. You can track business transactions, build funnels and visualise huge amounts of log data. The platform also offers its own SQL-based query language to get deeper insights into your application.

New Relic

Analytics type: performance, usage
Price: free 30-day trial; then $999 per month, per app


Arguably the main competitor of AppDynamics, New Relic is a pure SaaS solution, which provides all kinds of mobile app monitoring tools in the cloud. It supports a similar to AppDynamics’ list of technologies: Java, .NET, PHP, Node.js, Ruby, and Python.

Similarly to AppDynamics, New Relic consists of a few modules: APM, Mobile, Synthetics, Insights, and Browser (which is irrelevant for native mobile apps). As the names suggest, APM is all about transaction monitoring and giving you code-level visibility of issues, while Mobile allows diagnosing the performance of the application depending on operating system, device, version, geography, third-party APIs and so on.

“New Relic is quite popular on the backend side of things,” our Android developer Roman Mazur comments. “It helps a lot with the monitoring tasks and makes it very easy to set up an integration with PagerDuty to alert the right people when there’s trouble. If one person does both backend and mobile apps, it could be quite useful to have an integration with New Relic for Android and iOS.”

New Relic also offers synthetic testing of apps from different parts of the world with a simulation of the most important interactions and usage scenarios.

The Insights module is a real-time analytics platform, which collects data from the other modules, crunches the numbers and helps you obtain deep insights into your app’s usage. There’s also an SQL-like language for custom queries, similar to AppDynamics’ one.

If you’d like to learn more about the difference between New Relic and AppDynamics, go and read a long comprehensive side-by-side comparison on the Takipi blog.


Analytics type: performance, usage, marketing metrics
Price: free trial, custom pricing


Dynatrace, another all-round app performance monitoring suite, is a versatile one, available both on premise and as a SaaS solution. Similarly to most tools in this round-up, it can be used for monitoring both native mobile and web applications.

Packing the usual set of features that includes app monitoring, synthetic measurements, and end-user management, Dynatrace also offers performance load testing. This could be handy ahead of big events like a new release or a conference you’re going to showcase your app at.

On the mobile apps monitoring side, Dynatrace provides you with a few convenient dashboards that show all the key metrics. The user experience analysis module gives real-time insights into how the app is being used.

Crashlytics (Fabric)

Analytics type: performance
Price: free


Our crash reporting tool of choice, Crashlytics is now part of the Fabric suite, but could still be used to track issues in your mobile apps. Being lightweight and easy to use, Crashlytics provides important insights for iOS and Android apps, using different methods:

For iOS, the Crashlytics Kit uses a multi-step process to provide progressively higher levels of detail. We start with on-device symbolication. Once a crash report makes it into our system, stack frames are then re-processed against your application’s dSYM on our servers.

On the Android side, we analyze your crashes and automatically deobfuscate stack traces, beginning with on-device exception handling. Once the crash report reaches our system, we process the stack frames against your application’s mapping file that was automatically uploaded to our servers at build time.

The data is analysed and shown to the user in the form of very nicely looking reports. Stack traces are also analysed with de-prioritisation of the lines that don’t matter at the moment, which makes reading them much easier.

In addition to Crashlytics, Fabric has Answers, its own analytics tool that shows how the app is used based on pre-defined events. The platform developers reckon they’ve identified the most important events that need tracking, making the lives of app developers easier. We’ll focus on this and other event tracking tools in the second part of the series.


Analytics type: performance
Price: free 14 days trial, then from $9 per seat/month


Another crash tracking and reporting tool, Bugsnag is a quite popular (and not free) competitor to Crashlytics. In addition to crash tracking on Android and iOS, it also supports PHP, Java, Rails, Python, and 20 more languages.

One of Bugsnag’s benefits is that it can be integrated with a number of other tools and services, from project management tools (JIRA, Asana, Pivotal Tracker, GitHub Issues, and more) to chats and communication platforms like Slack, HipChat, Campfire, and so on.

On the crash tracking side, Bugsnag offers quite advanced analytics features like pivot tables, multi-dimensional filters, and dynamic counts and breakdowns, which allow to quickly identify the most harmful errors in your app. It can also double as an issue-tracking platform, allowing you to assign errors to team members, snooze or ignore errors that aren’t a priority at any given moment, etc.


Analytics type: performance
Price: free for individual users; from $79 per month for teams


While not being a mobile application performance tracking tool per se, Runscope could be useful in identifying bottlenecks in the interaction between the client, server, and third-party APIs. The tool monitors the speed, with which APIs return data to your app, and allow to see when one of them goes down.

“Simply put, Runscope works as a proxy server your app’s traffic is routed through,” Stanfy’s developer Anastasiia Voitova comments. “You can see how much time different requests and pinpoint the party that slows things down.”

While Runscope is a great tool for while the app is under development, its usage in production is questionable from the security standpoint. The company, however, appears to be taking this quite seriously.

With such wide variety of different tools and platforms, from narrowly specialised to swiss knife like ones, it shouldn’t be a problem to pick what you’d be comfortable with using.