The Android Open Source Project | dd7bc33 | 2009-03-03 19:32:55 -0800 | [diff] [blame] | 1 | This version of init contains code to perform "bootcharting", i.e. generating log |
| 2 | files that can be later processed by the tools provided by www.bootchart.org. |
| 3 | |
| 4 | To activate it, you need to define build 'init' with the INIT_BOOTCHART environment |
| 5 | variable defined to 'true', for example: |
| 6 | |
| 7 | touch system/init/init.c |
| 8 | m INIT_BOOTCHART=true |
| 9 | |
| 10 | On the emulator, use the new -bootchart <timeout> option to boot with bootcharting |
| 11 | activated for <timeout> seconds. |
| 12 | |
| 13 | Otherwise, flash your device, and start it. Then create a file on the /data partition |
| 14 | with a command like the following: |
| 15 | |
| 16 | adb shell 'echo $TIMEOUT > /data/bootchart-start' |
| 17 | |
| 18 | Where the value of $TIMEOUT corresponds to the wanted bootcharted period in seconds; |
| 19 | for example, to bootchart for 2 minutes, do: |
| 20 | |
| 21 | adb shell 'echo 120 > /data/bootchart-start' |
| 22 | |
| 23 | Reboot your device, bootcharting will begin and stop after the period you gave. |
| 24 | You can also stop the bootcharting at any moment by doing the following: |
| 25 | |
| 26 | adb shell 'echo 1 > /data/bootchart-stop' |
| 27 | |
| 28 | Note that /data/bootchart-stop is deleted automatically by init at the end of the |
| 29 | bootcharting. This is not the case of /data/bootchart-start, so don't forget to delete it |
| 30 | when you're done collecting data: |
| 31 | |
| 32 | adb shell rm /data/bootchart-start |
| 33 | |
| 34 | The log files are placed in /data/bootchart/. you must run the script tools/grab-bootchart.sh |
| 35 | which will use ADB to retrieve them and create a bootchart.tgz file that can be used with |
| 36 | the bootchart parser/renderer, or even uploaded directly to the form located at: |
| 37 | |
| 38 | http://www.bootchart.org/download.html |
| 39 | |
| 40 | NOTE: the bootchart.org webform doesn't seem to work at the moment, you can generate an |
| 41 | image on your machine by doing the following: |
| 42 | |
| 43 | 1/ download the sources from www.bootchart.org |
| 44 | 2/ unpack them |
| 45 | 3/ in the source directory, type 'ant' to build the bootchart program |
| 46 | 4/ type 'java -jar bootchart.jar /path/to/bootchart.tgz |
| 47 | |
| 48 | technical note: |
| 49 | |
| 50 | this implementation of bootcharting does use the 'bootchartd' script provided by |
| 51 | www.bootchart.org, but a C re-implementation that is directly compiled into our init |
| 52 | program. |