We, at AppAchhi are working towards helping developers to help fix performance issues by providing detailed information of performance usage. We are extremely thankful to our users who has been helping us with their feedback and feature requests. This shows the real world problems of debugging and development challenges of the tools in the market.

Sep 2017. We are introducing some great features to go deeper with performance. While we have already integrated Functional with performance exposing performance related risks during regression or pre-release to playstore. We are super excited to bring some of the most important performance related details in depth for the developers & Test coverage in the dashboard.

Testing depth & details:

Testing Depth

Be it basic, intermediate or advanced. It’s important for app owners or company to understand the test coverage. Our dashboard lets you understand the amount of coverage and what needs to be done in order to achieve the maximum coverage.

What to look for:

– Device coverage

– Test coverage

– Success rate (Improving performance and other aspect of the application)

Performance monitoring:

One of the core value of AppAchhi is to monitor Performance while BOT / Functional Tests are being executed. This keeps the developers and stakeholders informed about the functional changes impacting performance. We are adding more In-depth information for developers to debug and understand the changes throughout the testing cycle. Let’s dive in!

Memory profiling:

An app is efficient when the memory is used and release when required. There are several scenarios things might go wrong with memory. Most importantly when the memory progressively grows and does not get released. This is crucial since the growth of the memory could kill the app. More risky when it runs on various hardware and software configurations. Diving in deep with memory we have simplified and added few important piece of memory monitoring.  This helps to understand the app behaviour changes of memory allocations. Simplifying to show allocated / free could help even the beginner to understand the memory utilisation.

GC (Garbage collection):

This is one of the important aspect of memory. Garbage collections responsibility is to remove the unused objects from memory allowing freshly created objects to run within the allocated memory. GC is expensive since it leads to CPU time and pause time of the application (Meaning, every GC will have few ms impact of freeze time for the users).

What to look for:

– Pause time

– GC frequency (Potential Memory leak)

– Running out of memory (Potential Crashes)

CPU profiling:

Heard of ANRs (App not responding)? The app stalls and will not process any touch events. App is waiting for the response from Network or database for the information to be processed to the UI thread. Each test is monitored for threads / Load and process.

Method Trace:

Trace helps us understand the entry and exit of each method given the app. This means all methods that are running are being monitored to understand what consumes the most time of CPU and time taken to execute all of them. Parent and child method, reference method, Inclusive time, Exclusive time data will be displayed.

What to look for:

– Unusual long time execution

– Operations type (SQL, Bitmaps, Server response)

Network:

What are the URL calls? What is the server response time? What are the file types that are requested? Our network profiling is now beyond just data sent / received. Server side request and response will be monitored for tests and displayed beautifully for developers to understand the requests and response by Size, Type and Time.

What to look for:

– Response time of URLs

– Size of the request and response

We are super excited and working to bring more exciting features. Get the latest feature Sign-up here!