In Part 1 & Part 2, we explained the 4 steps improvement cycle and learned about the monitoring process at Tokopedia.

In this part of the blog series, we will explain how we profile and diagnose the performance issues for android applications at Tokopedia.

Why Profiling is an important and challenging step?

When we detect a regression or we want to improve the PLT (Page Load Time) of a particular page, we need to know which function is taking more time in overall page load time.

For profiling, android provides a few tools, which are systrace and Android Studio Profiler.

But the challenge with these tools is that…


In Part 1, we learned about the 4 steps improvement cycle of Monitor, Profile, Fix & Validate, and Deploy. Also, we learned the monitoring process of production application performance in Tokopedia.

In this part of the blog series, we will continue with the Monitoring step and discuss the following process:

  • Measuring the performance of the pre-production(internal) builds.
  • PR checker to validate the changes before merging.

Pre-Production Test Pipeline

We have in-house Jenkins test pipeline to measure the performance of an application using the development & release candidate branches.

We firstly run the UI Automation test on Firebase Test Lab, then download logs and…

Why performance is Important?

The performance gives a soothing and faster experience to the user because of which he/she prefers your application over other apps in the same category. It helps to give you a competitive edge over others while bad performance can give an unsatisfactory experience to user which can turn into a customer and business loss. In short, good performance in the app translates to happier customers and the success of your application.


We all want our apps to perform better, but we are always confused about how to define the performance or right metrics of performance? is it good or bad…

Vishal Gupta

Android Developer, Apps Performance Enthusiast, Head of Engineering @ Tokopedia

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