Event-based tracing to measure Android application and platform performance
For more information, see the Panappticon homepage and associated technical paper.
Panappticon consists of four code repositories. Each is included as a submodule of this one.
- panappticon-kernel the Linux kernel modified for Panappticon tracing
- panappticon-platform-framework-base the Android base framework modified for Panappticon tracing
- panappticon-platform-libcore the Android libcore modified for Panappticon tracing
- panappticon-tools custom tools and Android services/applications for Panappticon trace collection and analysis
Only the Galaxy Nexus phone (the tuna family, maguro (GSM) and toro (CDMA)) with Android versions 4.1.1_r6 and 4.1.2_r1 is currently supported.
-
Clone this repository and checkout the branch for your desired version of Android:
git clone https://github.com/EmbeddedAtUM/panappticon.git
git checkout panappticon-tuna-4.1.2_r1
git submodule update --remote
-
Replace the framework/base and libcore directories of your Android source tree with the corresponding directories in this repository.
-
Compile the kernel and replace the provided kernel image in your Android source tree.
-
Build the Android system images in the standard fashion.
-
Build and install on your server the EventLoggingServer application in the tools/ directory. Panappticon traces will be uploaded by the phone.
-
Update the EventLogging application in the tools/ directory to point to your server's URL.
-
Build the EventLogging application and install the resulting *.apk.
-
The scripts in the tools/ directory may be helpful for parsing and interpretting the logs.
The modified Linux kernel and Android platform sources are released under their respective licenses.
The Panappticon tools are released under the GPLv3.