Add support for having keyword for Service Ping metric name suggestion
Problem
Name suggestions for Service Ping Metrics do not process having
SQL keyword when building suggestions, this leads to name collisions for metrics with different constraints passed with having
keyword.
Example problem case
# more approvers
Gitlab::Usage::Metrics::NamesSuggestions::Generator.generate('usage_activity_by_stage_monthly.create.approval_project_rules_with_more_approvers_than_required')
=> "count_<adjective describing: '(approval_project_rules.rule_type = 0)'>_approval_project_rules_<with>_approval_project_rules_users"
# less approvers
Gitlab::Usage::Metrics::NamesSuggestions::Generator.generate('usage_activity_by_stage_monthly.create.approval_project_rules_with_less_approvers_than_required')
=> "count_<adjective describing: '(approval_project_rules.rule_type = 0)'>_approval_project_rules_<with>_approval_project_rules_users"
Solution
Enhance name suggestion to parse and account for having
keyword
Testing
Update related tests and make sure QA pipelines are passing
Edited by Carlo Catimbang