Add bootchart boot logger functionality to busybox


 * Summary : Add bootchart boot logger functionality to busybox


 * Proposer : Tim Bird

Description
It would be nice to add bootchart functionality to busybox. Most distributions now have bootchart available as a package, which allows an administrator to see machine resource usage and process startup times, for the system bootup. The existing bootchart boot logger, however, is a shell script, which consumes too much resources when running on an embedded platform.

The Android system includes bootchart boot logger functionality in it's 'init' program. It would be nice to include similar boot logging functionality built into busybox.

The feature would be to grab information from various /proc files, and save them into the files expected by bootchart, for a duration specified as a parameter to the 'init' applet of busybox. The duration parameter could be passed as an environment variable from the kernel, copied from the kernel command line, or set in a specially-named file. (Note that the latter two are used in Android. It would probably be good to keep compatibility with the Android method of parameter passing, just to avoid confusion.)

Note that the code for this in Android 'init' is licensed under the Apache license. It's less than 400 lines of C code.

The benefit of this is that it would allow easy visualization of embedded system bootup information.

Related work

 * Bootchart - http://www.bootchart.org/
 * Android init and bootchart
 * Usage guide: see http://elinux.org/Using_Bootchart_on_Android
 * Code: see http://android.git.kernel.org/?p=platform/system/core.git;a=blob_plain;f=init/bootchart.c;hb=HEAD