1 .TH BOOTGRAPH 8 2 .SH NAME 3 bootgraph \- Kernel boot timing analysis 4 .SH SYNOPSIS 5 .ft B 6 .B bootgraph 7 .RB [ OPTIONS ] 8 .RB [ COMMAND ] 9 .SH DESCRIPTION 10 \fBbootgraph \fP reads the dmesg log from kern 11 creates an html representation of the initcall 12 every module init call found, through both ker 13 timeline is split into two phases: kernel mode 14 represents a single process run on a single cp 15 Once user mode begins, the init process is cal 16 start working in parallel. 17 .PP 18 If no specific command is given, the tool read 19 outputs a new timeline. 20 .PP 21 The tool can also augment the timeline with ft 22 functions as well as full trace callgraphs. 23 .PP 24 Generates output files in subdirectory: boot-y 25 html timeline : <hostname>_boot.html 26 raw dmesg file : <hostname>_boot_dmesg 27 raw ftrace file : <hostname>_boot_ftrac 28 .SH OPTIONS 29 .TP 30 \fB-h\fR 31 Print this help text 32 .TP 33 \fB-v\fR 34 Print the current tool version 35 .TP 36 \fB-addlogs\fR 37 Add the dmesg log to the html output. It will 38 clicking a button in the timeline. 39 .TP 40 \fB-result \fIfile\fR 41 Export a results table to a text file for pars 42 .TP 43 \fB-o \fIname\fR 44 Overrides the output subdirectory name when ru 45 Use {date}, {time}, {hostname} for current val 46 .sp 47 e.g. boot-{hostname}-{date}-{time} 48 .SS "advanced" 49 .TP 50 \fB-f or -callgraph\fR 51 Use ftrace to create initcall callgraphs (defa 52 is not used there will be one callgraph per in 53 very large outputs, i.e. 10MB - 100MB. 54 .TP 55 \fB-fstat\fR 56 Use ftrace to add function detail (default: di 57 .TP 58 \fB-maxdepth \fIlevel\fR 59 limit the callgraph trace depth to \fIlevel\fR 60 the best way to limit the output size when usi 61 .TP 62 \fB-mincg \fIt\fR 63 Discard all callgraphs shorter than \fIt\fR mi 64 This reduces the html file size as there can b 65 which are barely visible in the timeline. 66 The value is a float: e.g. 0.001 represents 1 67 .TP 68 \fB-cgfilter \fI"func1,func2,..."\fR 69 Reduce callgraph output in the timeline by lim 70 argument can be a single function name or a co 71 (default: none) 72 .TP 73 \fB-cgskip \fIfile\fR 74 Reduce callgraph output in the timeline by ski 75 functions in the trace, e.g. printk or console 76 in this file will show up as empty leaves in t 77 times displayed. 78 (default: none) 79 .TP 80 \fB-timeprec \fIn\fR 81 Number of significant digits in timestamps (0: 82 .TP 83 \fB-expandcg\fR 84 pre-expand the callgraph data in the html outp 85 .TP 86 \fB-func \fI"func1,func2,..."\fR 87 Instead of tracing each initcall, trace a cust 88 .TP 89 \fB-reboot\fR 90 Reboot the machine and generate a new timeline 91 1. updates grub with the required kernel par 92 2. installs a cron job which re-runs the too 93 3. reboots the system 94 4. after startup, extracts the data and gene 95 .TP 96 \fB-manual\fR 97 Show the requirements to generate a new timeli 98 1. append the string to the kernel command l 99 2. reboot the system 100 3. after startup, re-run the tool with the s 101 102 .SH COMMANDS 103 .SS "rebuild" 104 .TP 105 \fB-dmesg \fIfile\fR 106 Create HTML output from an existing dmesg file 107 .TP 108 \fB-ftrace \fIfile\fR 109 Create HTML output from an existing ftrace fil 110 .SS "other" 111 .TP 112 \fB-flistall\fR 113 Print all ftrace functions capable of being ca 114 possible values you can add to trace via the - 115 .TP 116 \fB-sysinfo\fR 117 Print out system info extracted from BIOS. Rea 118 119 .SH EXAMPLES 120 Create a timeline using the current dmesg log. 121 .IP 122 \f(CW$ bootgraph\fR 123 .PP 124 Create a timeline using the current dmesg and 125 .IP 126 \f(CW$ bootgraph -callgraph\fR 127 .PP 128 Create a timeline using the current dmesg, add 129 .IP 130 \f(CW$ bootgraph -addlogs -o "myboot-{date}-{t 131 .PP 132 Capture a new boot timeline by automatically r 133 .IP 134 \f(CW$ sudo bootgraph -reboot -addlogs -o "lat 135 .PP 136 Capture a new boot timeline with function trac 137 .IP 138 \f(CW$ sudo bootgraph -reboot -f\fR 139 .PP 140 Capture a new boot timeline with trace & callg 141 .IP 142 \f(CW$ sudo bootgraph -reboot -callgraph -minc 143 .PP 144 Capture a new boot timeline with callgraph dat 145 .IP 146 \f(CW$ sudo bootgraph -reboot -callgraph -func 147 .PP 148 Capture a brand new boot timeline with manual 149 .IP 150 \f(CW$ sudo bootgraph -callgraph -manual\fR 151 .IP 152 \f(CW$ vi /etc/default/grub # add the CMD 153 .IP 154 \f(CW$ sudo reboot # reboot the 155 .IP 156 \f(CW$ sudo bootgraph -callgraph # re-run the 157 .PP 158 .SS "rebuild timeline from logs" 159 .PP 160 Rebuild the html from a previous run's logs, u 161 .IP 162 \f(CW$ bootgraph -dmesg dmesg.txt -ftrace ftra 163 .PP 164 Rebuild the html with different options. 165 .IP 166 \f(CW$ bootgraph -dmesg dmesg.txt -ftrace ftra 167 168 .SH "SEE ALSO" 169 dmesg(1), update-grub(8), crontab(1), reboot(8 170 .PP 171 .SH AUTHOR 172 .nf 173 Written by Todd Brandt <todd.e.brandt@linux.int
Linux® is a registered trademark of Linus Torvalds in the United States and other countries.
TOMOYO® is a registered trademark of NTT DATA CORPORATION.