Buildroot Archive on lore.kernel.org
 help / color / mirror / Atom feed
* [Buildroot] [RFC] Build time graph generation
@ 2011-10-09 16:17 Thomas Petazzoni
  2011-10-09 16:17 ` [Buildroot] [PATCH 1/2] package: instrument to gather timing data Thomas Petazzoni
                   ` (3 more replies)
  0 siblings, 4 replies; 15+ messages in thread
From: Thomas Petazzoni @ 2011-10-09 16:17 UTC (permalink / raw)
  To: buildroot

Hello,

Here are two patches that implement a simple modification of the
package infrastructure to output some timing data about the duration
taken by each step for each package, and then a small Python script
that generates graphs from those informations.

I am not sure that there is any useful usage of those graphs, but it's
fun and there are nice to look at.

Here are some sample graphs, first on a moderately large package set:

 http://free-electrons.com/~thomas/pub/buildroot/graph-time/big/histogram-build-order.pdf
 http://free-electrons.com/~thomas/pub/buildroot/graph-time/big/histogram-duration-order.pdf
 http://free-electrons.com/~thomas/pub/buildroot/graph-time/big/pie-packages.pdf
 http://free-electrons.com/~thomas/pub/buildroot/graph-time/big/pie-steps.pdf

and then on a smaller package set:

 http://free-electrons.com/~thomas/pub/buildroot/graph-time/small/histogram-build-order.pdf
 http://free-electrons.com/~thomas/pub/buildroot/graph-time/small/histogram-duration-order.pdf
 http://free-electrons.com/~thomas/pub/buildroot/graph-time/small/pie-packages.pdf
 http://free-electrons.com/~thomas/pub/buildroot/graph-time/small/pie-steps.pdf

I don't think the modification to the package infrastructure is ready
for merging (there are many cases not handled, like when the timing
data should be cleaned up, the case of overriden packages not being
handled, etc.) and I am not even sure it is useful to complicate the
package infrastructure with such a not-so-useful feature.

Regards,

Thomas

The following changes since commit ddb8c639c312fd9f65dbb123837c100281495d50:

  libplayer: mark python bindings as broken (2011-10-08 22:39:29 +0200)

are available in the git repository at:
  http://free-electrons.com/~thomas/buildroot.git for-2011.11/graph-build-time

Thomas Petazzoni (2):
      package: instrument to gather timing data
      graph-build-time: generate graphs based on timing data

 package/Makefile.package.in      |   28 ++++
 support/scripts/graph-build-time |  252 ++++++++++++++++++++++++++++++++++++++
 2 files changed, 280 insertions(+), 0 deletions(-)
 create mode 100755 support/scripts/graph-build-time

Thanks,
-- 
Thomas Petazzoni

^ permalink raw reply	[flat|nested] 15+ messages in thread

end of thread, other threads:[~2011-10-11 18:17 UTC | newest]

Thread overview: 15+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2011-10-09 16:17 [Buildroot] [RFC] Build time graph generation Thomas Petazzoni
2011-10-09 16:17 ` [Buildroot] [PATCH 1/2] package: instrument to gather timing data Thomas Petazzoni
2011-10-10 13:41   ` Thomas De Schampheleire
2011-10-11  5:59     ` Arnout Vandecappelle
2011-10-11  5:59   ` Arnout Vandecappelle
2011-10-11  7:34     ` Thomas Petazzoni
2011-10-11  8:29     ` Thomas De Schampheleire
2011-10-11 16:12       ` Arnout Vandecappelle
2011-10-11 18:17         ` Thomas Petazzoni
2011-10-09 16:17 ` [Buildroot] [PATCH 2/2] graph-build-time: generate graphs based on " Thomas Petazzoni
2011-10-10 13:12   ` Thomas De Schampheleire
2011-10-10  9:32 ` [Buildroot] [RFC] Build time graph generation Diego Iastrubni
2011-10-10 13:55 ` Thomas De Schampheleire
2011-10-10 14:20   ` Thomas Petazzoni
2011-10-10 15:19     ` Thomas De Schampheleire

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox