Bypass min/max queries in usage data queries
What does this MR do?
Part 2 of #325996 (closed)
We recently added an UsageData Queries API for instance admin to pull the queries we run for generating UsagePing. We mention the API in docs
Now, in the implementation of this API, we get the raw SQL queries from the UsageDataQueries Class that override some methods that are used in UsageData class
While reviewing the API implementation, we found that there were some min/max queries that were not required to be executed for the sake of the Queries API. So we had to bypass them and return nil
, this is what this MR does.
We moved the methods to Gitlab::Utils::UsageData
and override them in lib/gitlab/usage_data_queries.rb
as per requirement.
These changes would save us some execution time and respond faster to the API call.
Screenshots (strongly suggested)
Does this MR meet the acceptance criteria?
Conformity
-
📋 Does this MR need a changelog?-
I have included a changelog entry. -
I have not included a changelog entry because this is a developer facing change.
-
-
Documentation (if required) -
Code review guidelines -
Merge request performance guidelines -
Style guides -
Database guides -
Separation of EE specific content
Availability and Testing
-
Review and add/update tests for this feature/bug. Consider all test levels. See the Test Planning Process. -
Tested in all supported browsers -
Informed Infrastructure department of a default or new setting change, if applicable per definition of done
Security
If this MR contains changes to processing or storing of credentials or tokens, authorization and authentication methods and other items described in the security review guidelines:
-
Label as security and @ mention @gitlab-com/gl-security/appsec
-
The MR includes necessary changes to maintain consistency between UI, API, email, or other methods -
Security reports checked/validated by a reviewer from the AppSec team