summaryrefslogtreecommitdiffstats
path: root/support/scripts/graph-build-time
Commit message (Collapse)AuthorAgeFilesLines
* support/scripts/graph-build-time: replace confusing colorsThomas De Schampheleire2019-02-041-1/+1
| | | | | | | | | | | The color for 'extract' is very similar to the one for 'install-images'. Both are cyan-like. Replace the former by a pale blue to make all colors sufficiently distinct. Signed-off-by: Thomas De Schampheleire <thomas.de_schampheleire@nokia.com> Tested-by: Matthew Weber <matthew.weber@rockwellcollins.com> Signed-off-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
* support/scripts/graph-build-time: add download timesMathias De Mare2019-02-041-3/+3
| | | | | | | | | | | | | | | Total build time also involves download. Getting a visibility on the impact of that step can be important for users/admins, e.g. to evaluate different methods of BR2_PRIMARY_SITE. Colors used are some kind of purple (primary scheme) and light orange (alternate scheme). Signed-off-by: Mathias De Maré <mathias.de_mare@nokia.com> [ThomasDS: rebase and update colors to avoid confusion] Signed-off-by: Thomas De Schampheleire <thomas.de_schampheleire@nokia.com> Tested-by: Matthew Weber <matthew.weber@rockwellcollins.com> Signed-off-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
* package/pkg-generic.mk: increase precision of timestampsThomas Petazzoni2018-10-101-1/+1
| | | | | | | | | | | | | | | | | | | | | | Currently, the timestamps that we keep in build-time.log use a second-level precision. However, as we are going to introduce a new type of graph to draw the time line of a build, this precision is going to be insufficient, as a number of steps are so short that they are not even one second long, and generally the rounding to the second gives a not so great looking graph. Therefore, we add to the timestamps the nanoseconds using the %N date specifier. A milli-second precision would have been sufficient, but %N is all what date(1) provides at the sub-second level. Since this is changing the format of the build-time.log file, this commit adjusts the support/scripts/graph-build-time script accordingly, to account for the floating point numbers that we have as timestamps. Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com> Acked-by: "Yann E. MORIN" <yann.morin.1998@free.fr> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
* graph-build-time: fix code styleRicardo Martincoski2018-01-291-9/+15
| | | | | | | | | | | | | | | | Fix these warnings: E201 whitespace after '[' E202 whitespace before ']' E302 expected 2 blank lines, found 1 E305 expected 2 blank lines after class or function definition, found 1 Ignore these warnings: E402 module level import not at top of file Signed-off-by: Ricardo Martincoski <ricardo.martincoski@gmail.com> Cc: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> Cc: Yann E. MORIN <yann.morin.1998@free.fr> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
* support/scripts: sort pie chartsThomas De Schampheleire2018-01-021-1/+1
| | | | | | | | | | Make sure that the pie charts produced by 'graph-build' and 'graph-size' targets are sorted on the size of each piece of the pie. Otherwise, making visual analysis is difficult, as one needs to look at the legends of each piece and do the sorting manually in their head. Signed-off-by: Thomas De Schampheleire <thomas.de_schampheleire@nokia.com> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
* support/scripts: fix graph-build-time help textThomas Petazzoni2016-05-241-1/+1
| | | | | | | | | | | | The graph-build-time help text currently looks like this: usage: graph-build-time [-h] [--type GRAPH_TYPE] [--order GRAPH_ORDER] [--alternate-colors] [--input OUTPUT] --output OUTPUT Obviously, naming the parameter for --input as OUTPUT is not a very good idea, so this commit fixes that to name it "INPUT", as expected. Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
* scripts/graph-build-time: properly warn about missing modulesLuca Ceresoli2014-10-121-3/+8
| | | | | | | | | Currently the graph-build-time script prints a python exception if a needed module cannot be imported. Catch the exception and tell the user which packages are missing, as we do for other missing dependencies. Signed-off-by: Luca Ceresoli <luca@lucaceresoli.net> Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
* scripts/graph-build-time: clarify backend selectionLuca Ceresoli2014-10-121-0/+5
| | | | | | | | | | | | | | | | | | This instruction in the middle of 'import' lines looks very strange. Also, it was not obvious to me what the 'Agg' backend is. Both things are actually correct, but it took a while to find out why. So clarify with a comment to save someone else's time. [Peter: fix s/soe/some/ typo] Signed-off-by: Luca Ceresoli <luca@lucaceresoli.net> Cc: Sascha Arthur <sascha.arthur@gmail.com> Cc: "Yann E. MORIN" <yann.morin.1998@free.fr> Cc: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> Signed-off-by: Luca Ceresoli <luca@lucaceresoli.net> Acked-by: "Yann E. MORIN" <yann.morin.1998@free.fr> Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
* scripts/graph-build-time: remove X dependencySascha Arthur2014-09-211-1/+2
| | | | | | | | | [Thomas: tweak commit title.] Signed-off-by: Sascha Arthur <sascha.arthur@gmail.com> Tested-by: "Yann E. MORIN" <yann.morin.1998@free.fr> Reviewed-by: "Yann E. MORIN" <yann.morin.1998@free.fr> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
* graph-build-time: support python3Vivien Didelot2014-06-291-3/+3
| | | | | | | | | This patch is the result of 2to3. Signed-off-by: Vivien Didelot <vivien.didelot@savoirfairelinux.com> Acked-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be> Tested-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
* support/graphs: fix comparisons agains NoneYann E. MORIN2014-04-141-3/+3
| | | | | | | | | | | | | As Samuel said: In Python, None is a singleton, and it is recommended to use "is" or "is not" for testing them [1]. [1] http://legacy.python.org/dev/peps/pep-0008/#programming-recommendations Reported-by: Samuel Martin <s.martin49@gmail.com> Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr> Cc: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
* graphs: make graphs with lots of packages nicer to look atYann E. MORIN2014-04-141-6/+11
| | | | | | | | | | | Some magic numbers obtained with trial-and-error and successive iterations, to eventually get a nice graph. [Thomas: remove excessive spaces in expressions.] Reported-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
* graphs: support generating png graphsYann E. MORIN2013-12-291-2/+1
| | | | | | | | | | | | | | PDF files can not be easily embedded in other documents (eg. ODT, or HTML). Add support for generating PNG graphs, by setting the GRAPH_OUT=pdf|png on the command line: make GRAPH_OUT=png graph-build graph-depends The default is still to generate PDF graphs. Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr> Cc: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
* graph-build-time: generate graphs based on timing dataThomas Petazzoni2013-12-291-0/+291
This script generates graphs of packages build time, from the timing data generated by Buildroot in the $(O)/build-time.log file. Example usage: ./support/scripts/graph-build-time \ --type=histogram --input=$(O)/build-time.log --output=foobar.pdf Three graph types are available : * histogram, which creates an histogram of the build time for each package, decomposed by each step (extract, patch, configure, etc.). The order in which the packages are shown is configurable: by package name, by build order, or by duration order. See the --order option. * pie-packages, which creates a pie chart of the build time of each package (without decomposition in steps). Packages that contributed to less than 1% of the overall build time are all grouped together in an "Other" entry. * pie-steps, which creates a pie chart of the time spent globally on each step (extract, patch, configure, etc...) The default is to generate an histogram ordered by package name. Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> [yann.morin.1998@free.fr: adapt to the format of the step-hooks build-time.log, add sort order by name, default to name-ordered histogram, use our colours for pie-charts, add alternate color-scheme, add short-options, add --input/-i] Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
OpenPOWER on IntegriCloud