Real-time performance monitoring for Android Apps

Did you know that android now runs on over 2.5 billion devices across the world? With the emergence of budget smartphones and affordable internet connectivity, people are using more apps and consuming more mobile services than ever before.

Today, the challenge in mobile app development is not about reach but good user experience. And Good User Experience is not just about good design, it is about how the app actually works on hundreds of thousands of devices across the world.

Look at the reviews of some of the most popular apps on the play store and you will find that the best of them fail to perform properly on most devices. In the real world, good and bad user experience is just a low-end-device away and that is what differentiates the really good apps from the rest.

That is not to say that developers or product owners are to blame for badly performing apps. Why?

  • Functionality trumps performance every day of the week. In most cases, developers and product owners are rightfully forced to choose functionality over performance due to time constraints.
  • It should also be noted that focusing on performance is a continuous process and there are no shortcuts which is why very few teams are ready to invest in them.
  • Performance optimisation also feels like a dark art that is often reserved for the most hardcore developers. It is very difficult to get started.
  • Even if you decide to get started, there are many tools, libraries and metrics to choose from. It is easy to get confused on the path one should take.
  • It is often difficult to quantify performance in real world terms. How do you then invest in something that you can’t really quantify?

Enter Perfachhi, the very tool designed to make your life — as a developer or product owner — easier. It is the one tool you need to help you make your app perform better!

Just some of the things that Perfachhi can do:

  • Monitor network APIs — to check for large or unusual network traffic patterns
  • Track screen transition metrics — to check if certain screens take unexpectedly long to load
  • Find memory leaks — to check if your app is leaking memory which might cause your app to eventually crash
  • Track FPS — to call out janky screens, lists or animations
  • Profile methods — to determine if certain methods take an unexpected amount of time
  • Track memory and CPU usage — to determine how your app is behaving on specific devices

To demonstrate how well Perfachhi works, we have integrated the SDK with an open source reddit application Dank and here is a quick glimpse of the kind of insights we were able to derive within minutes of the integration:

Image for post
Image for post

Look at how the frames are dropped (denoted by the red lines) when the reddit posts are loaded on the home screen. This kind of janky behaviour is caught and reported automatically in Perfachhi. Post that, you can use screenshots, logs and other correlation metrics to find the root cause of this janky behaviour.

Image for post
Image for post

Moreover, one can also see how frequently the garbage collector is called when loading reddit posts. This might actually be one of the causes of the frequent-frame-drops issue we saw before. Perfachhi takes the guesswork out of performance monitoring and bug fixing.

One last think, in case you are thinking the following:

  • I could just integrate leak canary and track memory leaks on my own
  • I could profile API calls on my own
  • I could trace methods on my own
  • I could track FPS on my own
  • and so on…

But why haven’t you done that already? Because the process of tracking, alerting and managing performance metrics and finding the root cause of performance issues are a pain!

Perfachhi is the one performance monitoring tool that

  • tracks all the right performance metrics for your entire team automatically across devices and app versions
  • alerts you about the key performance metrics at the right time across all mediums (like slack)
  • shares periodic events on performance issues and regressions
  • let’s you track advanced metrics manually when you need to
  • helps you deep dive into the root cause of performance issues by correlating various device parameters and performance metrics

As you can see Perfachhi takes the hassle out of tracking, alerting and managing performance metrics and finding the root cause of performance issues so you can focus on the features that matter to your users!

Written by

A pre-prod performance monitoring tool for Android developers. We will talk more about app performance and how can you optimize the app performance. Follow us!

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store