Difference between revisions of "Bootchart"
(→Timechart: Mentioned that at least 2.6.32 is needed.) |
(→Updated Fork?) |
||
(One intermediate revision by one other user not shown) | |||
Line 53: | Line 53: | ||
A related project is a set of [[System Tap]] scripts to provide information about boot time. | A related project is a set of [[System Tap]] scripts to provide information about boot time. | ||
See [http://people.redhat.com/berrange/systemtap/bootprobe/ Bootprobe] | See [http://people.redhat.com/berrange/systemtap/bootprobe/ Bootprobe] | ||
+ | |||
+ | === Updated Fork === | ||
+ | |||
+ | Bootchart has been forked and updated and can be found on github https://github.com/mmeeks/bootchart (Main changes: no java, better visualization) | ||
+ | |||
+ | Another fork (the same?) can be found here: [http://foo-projects.org/~sofar/bootchart/ Updated Bootchart] | ||
[[Category:Boot Time]] | [[Category:Boot Time]] |
Revision as of 23:48, 2 April 2013
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.
Contents
Research & Presentations
Timechart
- Tool introduced on Arjan Van de Ven's blog
- Now available in the mainline Linux kernel. It uses the 'perf' infrastructure. Hence, you need a recent enough kernel (2.6.32 or later).
- See tools/perf/builtin-timechart.c and tools/perf/Documentation/perf-timechart.txt in the kernel sources for details.
Bootchart-Lite
- bootchart-lite-en.pdf Presentation by Shuuji Miyake of Fujitsu Software Technologies Limited, about bootchart deficiencies in the embedded space and ideas for fixing them.
- Not sure this is related to bootchart-lite project on Google Code, below--that was created by Fred Chien of OpenMoko.
- Bootchart-lite Project Home
# Non-members may check out a read-only working copy anonymously over HTTP.
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 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
To use
To use this, capture the bootchart information using bootchartd, then transfer the information to your host machine, and use bootchart to produce a graphic chart of the boot sequence.
Also see the following page describing a sample usage:
Related projects
SystemTap Scripts
A related project is a set of System Tap scripts to provide information about boot time. See Bootprobe
Updated Fork
Bootchart has been forked and updated and can be found on github https://github.com/mmeeks/bootchart (Main changes: no java, better visualization)
Another fork (the same?) can be found here: Updated Bootchart