Viewing Object Allocations in Little Eye


Android’s Dalvik VM relies on Garbage Collection (GC) to automatically manage your app’s memory resources. While automatic GC eases an app programmer’s life enormously, it can sometimes have a negative impact on app performance. This impact can be most observable when there are object allocations in performance-sensitive code paths, such as draw calls or list-view [...]

Read more

Understanding Instrumentation and deep HTTP Stats

The network data graphs are good at presenting how much wifi/3g data is used by the app at any point of time during the run. This helps understand usage patterns and can help identify unusual patterns. But there wasn’t always enough data (pun unintended) for the user to debug these. We wanted to go deeper [...]

Read more

Dogfooding Little Eye Part 3: CPU Performance Analysis and Optimization


In the previous post in this series, we looked at how we used Little Eye to detect and fix memory issues in our new release, Little Eye v2.0. Having fixed the memory issues, we looked at other aspects of performance and discovered that the average CPU usage of the app was 18.6%, which was still [...]

Read more

Dogfooding Little Eye Part 2: Fixing Memory and GC issues


In part one of this series, we looked at how we used Little Eye to measure and benchmark the performance of Little Eye v2.0 against v1.2. The measurement showed us that performance had regressed in our v2.0 beta build, and memory allocation issues were the root cause. To dig deeper into the memory performance regression, [...]

Read more

Dogfooding Little Eye Part 1: How we used Little Eye to improve Little Eye’s performance


At Little Eye Labs, we build awesome tools for performance analysis of your Android apps. A few previous blog posts have described how Little Eye collects performance data, and one of the cool side-effects of our technique is that we can use Little Eye to monitor it’s own performance! Instant Dogfooding! (Or drinking your own [...]

Read more

Custom event tracking

Screen Shot 2013-08-21 at 11.58.50 AM

Starting with v1.2, Little Eye added support to track custom events that the application might generate. By default Little Eye detects a bunch of standard events that all apps go through (GC events, process creation/deletion, process state change, wake locks, etc) and highlights them in the “Event” timeline of the app. By default Little Eye [...]

Read more

Running Little Eye with Jenkins


Jenkins is an extremely popular open-source continuous integration (CI) server. It’s used by many companies and open source projects, such as like Ubuntu, Apache, Mozilla, CyanogenMod and Facebook, LinkedIn and Netflix. If you’re building a serious android application, this can be an invaluable addition to your toolkit. Fortunately it can be setup quite easily, and [...]

Read more