Add distinct lighthouse count metrics per report_type
What does this MR do and why?
Adds distinct count metrics for each report type,
References
- Relates to Add count_distinct_projects_with_resolved_REPOR... (#499979 - closed), see this thread for context.
Query plan
https://console.postgres.ai/gitlab/gitlab-production-main/sessions/33209/commands/102547
SELECT
COUNT(*)
FROM ( SELECT DISTINCT
"vulnerability_reads"."project_id"
FROM
"vulnerability_reads"
INNER JOIN vulnerability_state_transitions ON vulnerability_state_transitions.vulnerability_id = vulnerability_reads.vulnerability_id
WHERE
"vulnerability_state_transitions"."to_state" = 3
AND "vulnerability_reads"."report_type" = 4
AND "vulnerability_state_transitions"."created_at" BETWEEN '2024-10-06 13:10:08'
AND '2024-11-03 13:10:08'
GROUP BY
"vulnerability_reads"."project_id") subquery
MR acceptance checklist
Please evaluate this MR against the MR acceptance checklist. It helps you analyze changes to reduce risks in quality, performance, reliability, security, and maintainability.
How to setup and validate locally
From https://docs.gitlab.com/ee/development/internal_analytics/review_guidelines.html#roles-and-process:
[1] pry(main)> require_relative 'spec/support/helpers/service_ping_helpers.rb'; ServicePingHelpers.get_current_usage_metric_value('usage_activity_by_stage.count_distinct_project_id_with_resolved_api_fuzzing_vulnerabilities')
Vulnerabilities::Read Count (19.1ms) SELECT COUNT(*) FROM (SELECT DISTINCT "vulnerability_reads"."project_id" FROM "vulnerability_reads" INNER JOIN vulnerability_state_transitions
ON vulnerability_state_transitions.vulnerability_id = vulnerability_reads.vulnerability_id WHERE "vulnerability_state_transitions"."to_state" = 3 AND "vulnerability_reads"."report_type" = 6 AND "vulnerability_state_transitions"."created_at" BETWEEN '2024-10-06 13:31:42.829534' AND '2024-11-12 13:31:42.829546' GROUP BY "vulnerability_reads"."project_id") subquery /*application:console,db_config_database:gitlabhq_development,db_config_name:main,console_hostname:Tohil,console_username:theoretick,line:/ee/lib/gitlab/usage/metrics/instrumentations/count_distinct_project_ids_with_resolved_vulnerabilities_metric.rb:27:in `value'*/
=> 0
Edited by Lucas Charles