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>

Merge request reports

Loading