From: Yann E. MORIN <yann.morin.1998@free.fr>
To: buildroot@busybox.net
Subject: [Buildroot] [PATCH 06/13] docs/manual: add section about build time graphing
Date: Sun, 23 Feb 2014 16:35:47 +0100 [thread overview]
Message-ID: <20140223153547.GH3342@free.fr> (raw)
In-Reply-To: <1393167879-16637-7-git-send-email-thomas.petazzoni@free-electrons.com>
Thomas, All,
On 2014-02-23 16:04 +0100, Thomas Petazzoni spake thusly:
> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
> ---
> docs/manual/common-usage.txt | 47 ++++++++++++++++++++++++++++++++++++++++++++
> 1 file changed, 47 insertions(+)
>
> diff --git a/docs/manual/common-usage.txt b/docs/manual/common-usage.txt
> index bef42c6..76e4023 100644
> --- a/docs/manual/common-usage.txt
> +++ b/docs/manual/common-usage.txt
> @@ -201,3 +201,50 @@ supported.
> --------------------------------
> GRAPH_OUT=svg make graph-depends
> --------------------------------
> +
> +Graphing the build duration
> +~~~~~~~~~~~~~~~~~~~~~~~~~~~
> +
> +[[graph-duration]]
> +
> +When the build of a system takes a long time, it is sometimes useful
> +to be able to understand which packages are the longest to build, to
> +see if anything can be done to speed up the build. In order to help
> +such build time analysis, Buildroot collects the build time of each
> +step of each package, and allows to generate graphs from these data.
> +
> +To generate the build time graph after a build, run:
> +
> +----------------
> +make graph-build
> +----------------
> +
> +This will generate a set of files in +output/graphs+ :
> +
> +* +build.hist-build.pdf+, an histogram of the build time for each
> + package, ordered in the build order.
> +
> +* +build.hist-duration.pdf+, an histogram of the build time for each
> + package, ordered by duration (longest first)
> +
> +* +build.hist-name.pdf+, an histogram of the build time for each
> + package, order by package name.
> +
> +* +build.pie-packages.pdf+, a pie chart of the build time per package
> +
> +* +build.pie-steps.pdf+, a pie chart of the global time spent in each
> + step of the packages build process.
> +
> +This +graph-build+ target requires the Python Matplotlib and Numpy
> +libraries to be installed (+python-matplotlib+ and +python-numpy+ on
> +most distributions), and also the +argparse+ module if you're using a
> +Python version older than 2.7 (+python-argparse+ on most
> +distributions).
> +
> +By default, the output format for the graph is PDF, but a different
> +format can be selected using the +GRAPH_OUT+ environment variable. The
> +only other format supported is PNG:
> +
> +----------------
> +GRAPH_OUT=png make graph-build
> +----------------
We also have GRAPH_ALT which sets an alternative colour-scheme for the
time graphs:
GRAPH_ALT=y make graph-build
Which can be combined with GRAPH_OUT, of course.
Regards,
Yann E. MORIN.
--
.-----------------.--------------------.------------------.--------------------.
| Yann E. MORIN | Real-Time Embedded | /"\ ASCII RIBBON | Erics' conspiracy: |
| +33 662 376 056 | Software Designer | \ / CAMPAIGN | ___ |
| +33 223 225 172 `------------.-------: X AGAINST | \e/ There is no |
| http://ymorin.is-a-geek.org/ | _/*\_ | / \ HTML MAIL | v conspiracy. |
'------------------------------^-------^------------------^--------------------'
next prev parent reply other threads:[~2014-02-23 15:35 UTC|newest]
Thread overview: 30+ messages / expand[flat|nested] mbox.gz Atom feed top
2014-02-23 15:04 [Buildroot] [PATCH 00/13] Documentation updates and improvements Thomas Petazzoni
2014-02-23 15:04 ` [Buildroot] [PATCH 01/13] docs/manual: toolchain packages no longer use custom makefiles Thomas Petazzoni
2014-02-23 15:16 ` Yann E. MORIN
2014-02-23 15:04 ` [Buildroot] [PATCH 02/13] docs/manual: rephrase part about rebuilding packages Thomas Petazzoni
2014-02-23 15:19 ` Yann E. MORIN
2014-02-23 15:04 ` [Buildroot] [PATCH 03/13] docs/manual: rephrase and expand part on when a full rebuild is necessary Thomas Petazzoni
2014-02-23 15:24 ` Yann E. MORIN
2014-02-23 15:04 ` [Buildroot] [PATCH 04/13] docs/manual: reference Python and Lua infras from the list of package infrastructures Thomas Petazzoni
2014-02-23 15:29 ` Yann E. MORIN
2014-02-23 15:37 ` Thomas Petazzoni
2014-02-23 15:04 ` [Buildroot] [PATCH 05/13] docs/manual: add section about dependency graphs Thomas Petazzoni
2014-02-23 15:32 ` Yann E. MORIN
2014-02-23 15:04 ` [Buildroot] [PATCH 06/13] docs/manual: add section about build time graphing Thomas Petazzoni
2014-02-23 15:35 ` Yann E. MORIN [this message]
2014-02-23 15:04 ` [Buildroot] [PATCH 07/13] docs/manual: update informations about C library in internal backend Thomas Petazzoni
2014-02-23 16:21 ` Yann E. MORIN
2014-02-23 15:04 ` [Buildroot] [PATCH 08/13] docs/manual: update external toolchain examples Thomas Petazzoni
2014-02-23 15:39 ` Yann E. MORIN
2014-02-23 15:04 ` [Buildroot] [PATCH 09/13] docs/manual: mention that custom toolchains is also useful for BR toolchains Thomas Petazzoni
2014-02-23 15:48 ` Yann E. MORIN
2014-02-23 15:04 ` [Buildroot] [PATCH 10/13] docs/manual: rephrase paragraph about unsupported external toolchains Thomas Petazzoni
2014-02-23 15:04 ` [Buildroot] [PATCH 11/13] docs/manual: refresh informations about *-menuconfig targets Thomas Petazzoni
2014-02-23 15:53 ` Yann E. MORIN
2014-02-23 15:04 ` [Buildroot] [PATCH 12/13] docs/manual: document the usage of <pkg>_OVERRIDE_SRCDIR Thomas Petazzoni
2014-02-23 16:29 ` Yann E. MORIN
2014-02-23 21:29 ` Peter Korsgaard
2014-02-23 21:33 ` Yann E. MORIN
2014-02-23 15:04 ` [Buildroot] [PATCH 13/13] docs/manual: mention the per-package graph-depends target Thomas Petazzoni
2014-02-23 16:06 ` Yann E. MORIN
2014-02-23 21:30 ` [Buildroot] [PATCH 00/13] Documentation updates and improvements Peter Korsgaard
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20140223153547.GH3342@free.fr \
--to=yann.morin.1998@free.fr \
--cc=buildroot@busybox.net \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.