http://www.bootchart.org/docs.htmlHow it WorksLogger StartupThe boot logger
(/sbin/bootchartd)
is run by the kernel instead of /boot/grub/menu.lst
[...]
title Fedora Core (2.6.10) - bootchart
root (hd0,1)
kernel /vmlinuz-2.6.10 ro root=/dev/hda1 init=/sbin/bootchartd
initrd /initrd-2.6.10.img
The installation script and RPM package will try to add the boot loader entry automatically. The boot logger will start itself in the background and immediately
run the
default init process, Data CollectionSince the root partition is mounted read-only during boot, the
logger
needs to store data in memory, using a virtual memory file system
( As soon as the
The contents of these files are periodically appended to corresponding log files, every 0.2 seconds by default. The logger will try to detect the end of the boot process by looking
for
specific processes. For example, when in runlevel 5 (multi-user
graphical
mode), it will look for Optional Process AccountingIn most cases, the output from When truly accurate dependency information is required, process accounting may be utilized. If configured, the kernel will keep a log file with detailed information about processes. BSD process accounting v3 includes information about the process' PID and parent PID (PPID) — effectively enabling an accurate reconstruction of the process tree. To enable process accounting, the kernel needs to be configured to
include
[ ] General setup
[ ] BSD Process Accounting
[ ] BSD Process Accounting version 3 file format
The GNU accounting utilities (package VisualizationThe log tarball is later passed to the Java application for parsing and rendering the data. The CPU and disk statistics are used to render stacked area and line charts. The process information is used to create a Gantt chart showing process dependency, states and CPU usage. A typical boot sequence consists of several hundred processes. Since it is difficult to visualize such amount of data in a comprehensible way, tree pruning is utilized. Idle background processes and short-lived processes are removed. Similar processes running in parallel are also merged together. Finally, the performance and dependency charts are renderer as a single image in either PNG, SVG or EPS format. Additional documentation is available in the package: README, README.logger and INSTALL. |
