Improving and optimizing user-perceived smartphone performance requires understanding device, system, and application behavior for real-world workloads. However, measuring such performance is challenging due to the multi-threaded, asynchronous programming paradigms used in modern applications and the multiple layers of hardware and software used to respond to user input events.
We address this challenge with Panappticon, a lightweight, system-wide, fine-grained event tracing system for Android that automatically identifies critical execution paths in user transactions. Panappticon monitors the application, system, and kernel software layers and can identify performance problems stemming from poor application code, underpowered hardware, and harmful interactions between apparently unrelated applications.
We carried out a 14-user, one-month study of an Android smartphone system instrumented with Panappticon. This study revealed a number of specific problems and areas for improvement that may be of value to system designers, application developers, and device manufactures.
Panappticon was developed by University of Michigan Ph.D. students Lide Zhang and David R. Bild under the direction of Robert Dick and Zhuoqing Morley Mao at the University of Michigan. The work is supported primarily by National Science Foundation grant CNS-1059372 under Program Manager Professor Theodore Baker.