[proposal] Add bootchart boot logger functionality to busybox


Tim Bird <tim.bird@...>
 

I haven't formally announced the open project proposal system yet
(except for the blurb in the CELF newsletter), but here's my
sample, which is a real proposal for next year.

Comments are welcome!
-----------

Proposer: Tim Bird

Summary: Add bootchart boot logger functionality to busybox

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