feat: Implement statistics class & additional metrics
The new module/class helps us constructing queries and count records to expose various statistics on the homepage.
We also utilize for some new Prometheus metrics (package and user gauges). Record counts are being cached with Redis.
The Prometheus counter for the search queries is renamed to aur_search_requests
to follow best practices.
(names should be prefixed with the projects name)
async
was removed from the cache module (There is no performance benefit; all other code is non-async)
Metrics for requests (by type and state) have been added.
ToDo:
-
Write tests -
Split config option for cache expiry (statistics & search queries) -
Prepare MR for infra changes: infrastructure!744 (merged)
ToDo with release/deployment:
-
Dashboard needs to be amended ( search_requests
->aur_search_requests
) -
Text collector should be disabled/removed
Related issues: #309 (closed), #483 (closed)