Difference between revisions of "Bootchart"

From eLinux.org
Jump to: navigation, search
(Added ubootchart)
Line 18: Line 18:
 
=== EmBootchart ===
 
=== EmBootchart ===
 
* [http://tree.celinuxforum.org/CelfPubWiki/ELC2006Presentations?action=AttachFile&do=get&target=VisualizingResUsageDuringBoot.pdf Visualizing Resource Usage During Boot] Presentation on 'embootchart' by Matthew Klahn and Moosa Muhammad of Motorola about bootchart deficiencies in the embedded space, and a program (unfortunately never published) to fix them.
 
* [http://tree.celinuxforum.org/CelfPubWiki/ELC2006Presentations?action=AttachFile&do=get&target=VisualizingResUsageDuringBoot.pdf Visualizing Resource Usage During Boot] Presentation on 'embootchart' by Matthew Klahn and Moosa Muhammad of Motorola about bootchart deficiencies in the embedded space, and a program (unfortunately never published) to fix them.
 +
 +
=== BusyBox ===
 +
 +
Busybox has a C implementation of bootchartd. It compiles to less than 40k (static uclibc i386 build). It will be available in the busybox-1.17.0 release. Please send bug reports, improvements to busybox mailing list.
 +
 +
* [http://busybox.net/ Busybox Project Home]
 +
* [http://git.busybox.net/busybox/tree/init/bootchartd.c bootchartd applet code]
 +
 +
Usage: bootchartd start [PROG ARGS]|stop|init
 +
 +
Create /var/log/bootchart.tgz with boot chart data
 +
 +
Options:
 +
start: start background logging; with PROG, run PROG, then kill logging with USR1
 +
stop: send USR1 to all bootchartd processes
 +
init: start background logging; stop when getty/xdm is seen (for init scripts)
 +
Under PID 1: start background logging, then execute $bootchart_init, /init, /sbin/init
 +
This makes it possible to start bootchartd even before init by booting kernel with:
 +
init=/bin/bootchartd bootchart_init=/path/to/regular/init
  
 
== Related projects ==
 
== Related projects ==

Revision as of 20:24, 15 May 2010

Bootchart is a tool for performance analysis and visualization of the Linux boot process. Resource utilization and process information are collected during the user-space portion of the boot process and are later rendered in a PNG, SVG or EPS encoded chart. For embedded systems several developers have tried to use bootchart to analyze boot time, but problems arose. There have been several efforts to modify bootchart to make it more useful for embedded development.

Research & Presentations

Bootchart-Lite

svn checkout http://bootchart-lite.googlecode.com/svn/trunk/ bootchart-lite-read-only

ubootchart

Like Bootchart Lite, an implementation of the ideas from "embootchart".

EmBootchart

  • Visualizing Resource Usage During Boot Presentation on 'embootchart' by Matthew Klahn and Moosa Muhammad of Motorola about bootchart deficiencies in the embedded space, and a program (unfortunately never published) to fix them.

BusyBox

Busybox has a C implementation of bootchartd. It compiles to less than 40k (static uclibc i386 build). It will be available in the busybox-1.17.0 release. Please send bug reports, improvements to busybox mailing list.

Usage: bootchartd start [PROG ARGS]|stop|init

Create /var/log/bootchart.tgz with boot chart data

Options: start: start background logging; with PROG, run PROG, then kill logging with USR1 stop: send USR1 to all bootchartd processes init: start background logging; stop when getty/xdm is seen (for init scripts) Under PID 1: start background logging, then execute $bootchart_init, /init, /sbin/init This makes it possible to start bootchartd even before init by booting kernel with: init=/bin/bootchartd bootchart_init=/path/to/regular/init

Related projects

SystemTap Scripts

A related project is a set of System Tap scripts to provide information about boot time. See Bootprobe