Reconfigurable Multi-Resolution Performance Profiling in Android Applications

Ying-Dar LIN  Kuei-Chung CHANG  Yuan-Cheng LAI  Yu-Sheng LAI  

IEICE TRANSACTIONS on Information and Systems   Vol.E96-D   No.9   pp.2039-2046
Publication Date: 2013/09/01
Online ISSN: 1745-1361
DOI: 10.1587/transinf.E96.D.2039
Print ISSN: 0916-8532
Type of Manuscript: PAPER
Category: Fundamentals of Information Systems
time profiling,  multi-resolution profiling,  android,  reconfigurable profiling,  

Full Text: PDF>>
Buy this Article

The computing of applications in embedded devices suffers tight constraints on computation and energy resources. Thus, it is important that applications running on these resource-constrained devices are aware of the energy constraint and are able to execute efficiently. The existing execution time and energy profiling tools could help developers to identify the bottlenecks of applications. However, the profiling tools need large space to store detailed profiling data at runtime, which is a hard demand upon embedded devices. In this article, a reconfigurable multi-resolution profiling (RMP) approach is proposed to handle this issue on embedded devices. It first instruments all profiling points into source code of the target application and framework. Developers can narrow down the causes of bottleneck by adjusting the profiling scope using the configuration tool step by step without recompiling the profiled targets. RMP has been implemented as an open source tool on Android systems. Experiment results show that the required log space using RMP for a web browser application is 25 times smaller than that of Android debug class, and the profiling error rate of execution time is proven 24 times lower than that of debug class. Besides, the CPU and memory overheads of RMP are only 5% and 6.53% for the browsing scenario, respectively.