[PATCH][LNT] Add ability to filter machines on daily report page + refactor LNT regression tests to enable properly testing it.

Kristof Beyls kristof.beyls at arm.com
Tue May 26 03:41:06 PDT 2015


Hi Chris,

I'd like to be able to filter on the daily report page, e.g.
http://llvm.org/perf/db_default/v4/nts/daily_report/2015/5/21?num_days=7, so
that it only shows data for a subset of the builders. The previous link
shows
many results coming from the penryn builders, which make it hard to just
investigate the results coming from the juno board.

0006-Enable-filtering-of-machines-shown-on-LNT-daily-repo.patch adds support
for this; the user visible behaviour I went for is adding
machines={comma-separated list of machine names} to the query string of the
url, e.g.
http://llvm.org/perf/db_default/v4/nts/daily_report/2015/5/21?num_days=7&mac
hines=llvm-juno-lnt-perf__LNT-AArch64-A53-O3__clang_DEV__aarch64.

To be able to add a proper regression test/unit test for this, I also had to
refactor the LNT regression tests a bit, which is what the other patches
contain. In a number of steps, they transform the tests using
tests/SharedInputs/SmallInstance/lnt.db to using a database constructed from
human-readable SQL statements, creating the sqlite file on the fly during
test
execution. This enables adding per-test records to the database:

- 0001-For-the-regression-tests-make-temporary-LNT-db-insta.patch
- 0002-Replace-binary-test-lnt.db-with-human-readable-text-.patch
- 0003-replace-hexadecimal-encoding-of-blobs-with-textual-r.patch
- 0004-remove-most-of-the-unnecessary-insert-statement-from.patch
- 0005-Enable-adding-test-specific-records-to-test-database.patch

My hope is that this refactoring enables creating new functionality for the
LNT
ui in a more Test-Driven Development way, which should make it easier for
more
people to contribute to LNT & to reduce the likelihood of regressions in
LNT.

What do you think?
Is the refactoring of the regression tests a step in the right direction?
Any objections to adding the machine= filter to the daily report page?

Thanks,

Kristof
-------------- next part --------------
A non-text attachment was scrubbed...
Name: 0001-For-the-regression-tests-make-temporary-LNT-db-insta.patch
Type: application/octet-stream
Size: 2900 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20150526/03f420d8/attachment.obj>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: 0002-Replace-binary-test-lnt.db-with-human-readable-text-.patch
Type: application/octet-stream
Size: 478887 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20150526/03f420d8/attachment-0001.obj>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: 0003-replace-hexadecimal-encoding-of-blobs-with-textual-r.patch
Type: application/octet-stream
Size: 82578 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20150526/03f420d8/attachment-0002.obj>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: 0004-remove-most-of-the-unnecessary-insert-statement-from.patch
Type: application/octet-stream
Size: 273896 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20150526/03f420d8/attachment-0003.obj>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: 0005-Enable-adding-test-specific-records-to-test-database.patch
Type: application/octet-stream
Size: 4266 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20150526/03f420d8/attachment-0004.obj>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: 0006-Enable-filtering-of-machines-shown-on-LNT-daily-repo.patch
Type: application/octet-stream
Size: 11089 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20150526/03f420d8/attachment-0005.obj>


More information about the llvm-commits mailing list