diff options
author | Markus Lehtonen <markus.lehtonen@linux.intel.com> | 2017-03-31 17:07:29 +0300 |
---|---|---|
committer | Richard Purdie <richard.purdie@linuxfoundation.org> | 2017-04-01 23:28:20 +0100 |
commit | 9f299876f716f253b0a3d70eb4473a023c593fc5 (patch) | |
tree | 057d934e96df36ac3e28113b11f5b1ce70c7b614 /scripts/lib/build_perf/__init__.py | |
parent | 5a85d39c9d5502aabc2dde20f2a16bf7ac9f2d22 (diff) | |
download | poky-9f299876f716f253b0a3d70eb4473a023c593fc5.tar.gz |
scripts: add oe-build-perf-report script
A new tool for pretty-printing build perf test results stored in a Git
repository. The scripts is able to produce either simple plaintext
report showing the difference between two commits, or, an html report
that also displays trendcharts of the test results. The script uses
Jinja2 templates for generating HTML reports so it requires
python3-jinja2 to be installed on the system.
[YOCTO #10931]
(From OE-Core rev: 3b25404f0f99b72f222bdca815929be1cf1cee35)
Signed-off-by: Markus Lehtonen <markus.lehtonen@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Diffstat (limited to 'scripts/lib/build_perf/__init__.py')
-rw-r--r-- | scripts/lib/build_perf/__init__.py | 31 |
1 files changed, 31 insertions, 0 deletions
diff --git a/scripts/lib/build_perf/__init__.py b/scripts/lib/build_perf/__init__.py new file mode 100644 index 0000000000..1f8b729078 --- /dev/null +++ b/scripts/lib/build_perf/__init__.py | |||
@@ -0,0 +1,31 @@ | |||
1 | # | ||
2 | # Copyright (c) 2017, Intel Corporation. | ||
3 | # | ||
4 | # This program is free software; you can redistribute it and/or modify it | ||
5 | # under the terms and conditions of the GNU General Public License, | ||
6 | # version 2, as published by the Free Software Foundation. | ||
7 | # | ||
8 | # This program is distributed in the hope it will be useful, but WITHOUT | ||
9 | # ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or | ||
10 | # FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for | ||
11 | # more details. | ||
12 | # | ||
13 | """Build performance test library functions""" | ||
14 | |||
15 | def print_table(rows, row_fmt=None): | ||
16 | """Print data table""" | ||
17 | if not rows: | ||
18 | return | ||
19 | if not row_fmt: | ||
20 | row_fmt = ['{:{wid}} '] * len(rows[0]) | ||
21 | |||
22 | # Go through the data to get maximum cell widths | ||
23 | num_cols = len(row_fmt) | ||
24 | col_widths = [0] * num_cols | ||
25 | for row in rows: | ||
26 | for i, val in enumerate(row): | ||
27 | col_widths[i] = max(col_widths[i], len(str(val))) | ||
28 | |||
29 | for row in rows: | ||
30 | print(*[row_fmt[i].format(col, wid=col_widths[i]) for i, col in enumerate(row)]) | ||
31 | |||