Rewrite of models.Project.get_test_summary
This brings a rewrite of the get_test_summary utility that is used in the "/projects/{project_id}/tests" (GET) API.
As a crude comparison to measure the improvements (from the client side) the following request was made before and after:
$ /usr/bin/time curl -X 'GET' \
'http://localhost:8000/projects/1/tests?dt_from=2023-03-07&dt_to=2023-03-14' \
-H 'accept: application/json' -o /dev/null
Before we had:
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
100 1070k 100 1070k 0 0 56945 0 0:00:19 0:00:19 --:--:-- 265k
0.00user 0.01system 0:19.25elapsed 0%CPU (0avgtext+0avgdata 9268maxresident)k
0inputs+0outputs (0major+527minor)pagefaults 0swaps
And after this we have:
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
100 1070k 100 1070k 0 0 1976k 0 --:--:-- --:--:-- --:--:-- 1974k
0.00user 0.00system 0:00.54elapsed 0%CPU (0avgtext+0avgdata 9272maxresident)k
0inputs+0outputs (0major+531minor)pagefaults 0swaps
In wall clock time, it went from 19.25 seconds to 0.54 seconds.
Reference: web-ui#8 (closed)
Signed-off-by: Cleber Rosa <crosa@redhat.com>