-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
tools: power: pm-graph: Package makefile and man pages
BootGraph and SleepGraph man pages - includes full descriptions of tool arguments and commands - includes examples of common use cases Makefile - no build required, used only for install - installs man pages and tools as libraries with links - includes an uninstall Signed-off-by: Todd Brandt <todd.e.brandt@linux.intel.com> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
- Loading branch information
Todd E Brandt
authored and
Rafael J. Wysocki
committed
Apr 19, 2017
1 parent
c4980ce
commit 2244037
Showing
3 changed files
with
403 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,28 @@ | ||
PREFIX ?= /usr | ||
DESTDIR ?= | ||
|
||
all: | ||
@echo "Nothing to build" | ||
|
||
install : | ||
install -d $(DESTDIR)$(PREFIX)/lib/pm-graph | ||
install analyze_suspend.py $(DESTDIR)$(PREFIX)/lib/pm-graph | ||
install analyze_boot.py $(DESTDIR)$(PREFIX)/lib/pm-graph | ||
|
||
ln -s $(DESTDIR)$(PREFIX)/lib/pm-graph/analyze_boot.py $(DESTDIR)$(PREFIX)/bin/bootgraph | ||
ln -s $(DESTDIR)$(PREFIX)/lib/pm-graph/analyze_suspend.py $(DESTDIR)$(PREFIX)/bin/sleepgraph | ||
|
||
install -d $(DESTDIR)$(PREFIX)/share/man/man8 | ||
install bootgraph.8 $(DESTDIR)$(PREFIX)/share/man/man8 | ||
install sleepgraph.8 $(DESTDIR)$(PREFIX)/share/man/man8 | ||
|
||
uninstall : | ||
rm $(DESTDIR)$(PREFIX)/share/man/man8/bootgraph.8 | ||
rm $(DESTDIR)$(PREFIX)/share/man/man8/sleepgraph.8 | ||
|
||
rm $(DESTDIR)$(PREFIX)/bin/bootgraph | ||
rm $(DESTDIR)$(PREFIX)/bin/sleepgraph | ||
|
||
rm $(DESTDIR)$(PREFIX)/lib/pm-graph/analyze_boot.py | ||
rm $(DESTDIR)$(PREFIX)/lib/pm-graph/analyze_suspend.py | ||
rmdir $(DESTDIR)$(PREFIX)/lib/pm-graph |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,132 @@ | ||
.TH BOOTGRAPH 8 | ||
.SH NAME | ||
bootgraph \- Kernel boot timing analysis | ||
.SH SYNOPSIS | ||
.ft B | ||
.B bootgraph | ||
.RB [ OPTIONS ] | ||
.RB [ COMMAND ] | ||
.SH DESCRIPTION | ||
\fBbootgraph \fP reads the dmesg log from kernel boot and | ||
creates an html representation of the initcall timeline up to the start | ||
of the init process. | ||
.PP | ||
If no specific command is given, the tool reads the current dmesg log and | ||
outputs bootgraph.html. | ||
.PP | ||
The tool can also augment the timeline with ftrace data on custom target | ||
functions as well as full trace callgraphs. | ||
.SH OPTIONS | ||
.TP | ||
\fB-h\fR | ||
Print this help text | ||
.TP | ||
\fB-v\fR | ||
Print the current tool version | ||
.TP | ||
\fB-addlogs\fR | ||
Add the dmesg log to the html output. It will be viewable by | ||
clicking a button in the timeline. | ||
.TP | ||
\fB-o \fIfile\fR | ||
Override the HTML output filename (default: bootgraph.html) | ||
.SS "Ftrace Debug" | ||
.TP | ||
\fB-f\fR | ||
Use ftrace to add function detail (default: disabled) | ||
.TP | ||
\fB-callgraph\fR | ||
Use ftrace to create initcall callgraphs (default: disabled). If -filter | ||
is not used there will be one callgraph per initcall. This can produce | ||
very large outputs, i.e. 10MB - 100MB. | ||
.TP | ||
\fB-maxdepth \fIlevel\fR | ||
limit the callgraph trace depth to \fIlevel\fR (default: 2). This is | ||
the best way to limit the output size when using -callgraph. | ||
.TP | ||
\fB-mincg \fIt\fR | ||
Discard all callgraphs shorter than \fIt\fR milliseconds (default: 0=all). | ||
This reduces the html file size as there can be many tiny callgraphs | ||
which are barely visible in the timeline. | ||
The value is a float: e.g. 0.001 represents 1 us. | ||
.TP | ||
\fB-timeprec \fIn\fR | ||
Number of significant digits in timestamps (0:S, 3:ms, [6:us]) | ||
.TP | ||
\fB-expandcg\fR | ||
pre-expand the callgraph data in the html output (default: disabled) | ||
.TP | ||
\fB-filter \fI"func1,func2,..."\fR | ||
Instead of tracing each initcall, trace a custom list of functions (default: do_one_initcall) | ||
|
||
.SH COMMANDS | ||
.TP | ||
\fB-reboot\fR | ||
Reboot the machine and generate a new timeline automatically. Works in 4 steps. | ||
1. updates grub with the required kernel parameters | ||
2. installs a cron job which re-runs the tool after reboot | ||
3. reboots the system | ||
4. after startup, extracts the data and generates the timeline | ||
.TP | ||
\fB-manual\fR | ||
Show the requirements to generate a new timeline manually. Requires 3 steps. | ||
1. append the string to the kernel command line via your native boot manager. | ||
2. reboot the system | ||
3. after startup, re-run the tool with the same arguments and no command | ||
.TP | ||
\fB-dmesg \fIfile\fR | ||
Create HTML output from an existing dmesg file. | ||
.TP | ||
\fB-ftrace \fIfile\fR | ||
Create HTML output from an existing ftrace file (used with -dmesg). | ||
.TP | ||
\fB-flistall\fR | ||
Print all ftrace functions capable of being captured. These are all the | ||
possible values you can add to trace via the -filter argument. | ||
|
||
.SH EXAMPLES | ||
Create a timeline using the current dmesg log. | ||
.IP | ||
\f(CW$ bootgraph\fR | ||
.PP | ||
Create a timeline using the current dmesg and ftrace log. | ||
.IP | ||
\f(CW$ bootgraph -callgraph\fR | ||
.PP | ||
Create a timeline using the current dmesg, add the log to the html and change the name. | ||
.IP | ||
\f(CW$ bootgraph -addlogs -o myboot.html\fR | ||
.PP | ||
Capture a new boot timeline by automatically rebooting the machine. | ||
.IP | ||
\f(CW$ sudo bootgraph -reboot -addlogs -o latestboot.html\fR | ||
.PP | ||
Capture a new boot timeline with function trace data. | ||
.IP | ||
\f(CW$ sudo bootgraph -reboot -f\fR | ||
.PP | ||
Capture a new boot timeline with trace & callgraph data. Skip callgraphs smaller than 5ms. | ||
.IP | ||
\f(CW$ sudo bootgraph -reboot -callgraph -mincg 5\fR | ||
.PP | ||
Capture a new boot timeline with callgraph data over custom functions. | ||
.IP | ||
\f(CW$ sudo bootgraph -reboot -callgraph -filter "acpi_ps_parse_aml,msleep"\fR | ||
.PP | ||
Capture a brand new boot timeline with manual reboot. | ||
.IP | ||
\f(CW$ sudo bootgraph -callgraph -manual\fR | ||
.IP | ||
\f(CW$ vi /etc/default/grub # add the CMDLINE string to your kernel params\fR | ||
.IP | ||
\f(CW$ sudo reboot # reboot the machine\fR | ||
.IP | ||
\f(CW$ sudo bootgraph -callgraph # re-run the tool after restart\fR | ||
.PP | ||
|
||
.SH "SEE ALSO" | ||
dmesg(1), update-grub(8), crontab(1), reboot(8) | ||
.PP | ||
.SH AUTHOR | ||
.nf | ||
Written by Todd Brandt <todd.e.brandt@linux.intel.com> |
Oops, something went wrong.