Home | History | Annotate | Download | only in init
      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.
     53