Resolve "Update usage ping data to track MRs with added rules"
What does this MR do?
Related to #222312 (closed)
This adds a line in the usage ping for EE that shows how many MRs have had rules added that are specific to the MR. Includes a spec as well.
Queries generated (with the added index):
MIN QUERY
SELECT MIN("approval_merge_request_rules"."merge_request_id") FROM "approval_merge_request_rules"
Time: 8.136 ms
- planning: 0.224 ms
- execution: 7.912 ms
- I/O read: 7.684 ms
- I/O write: 0.000 ms
Shared buffers:
- hits: 0 from the buffer pool
- reads: 4 (~32.00 KiB) from the OS file cache, including disk I/O
- dirtied: 0
- writes: 0
MAX QUERY
SELECT MAX("approval_merge_request_rules"."merge_request_id") FROM "approval_merge_request_rules"
Time: 13.252 ms
- planning: 0.284 ms
- execution: 12.968 ms
- I/O read: 12.193 ms
- I/O write: 0.000 ms
Shared buffers:
- hits: 0 from the buffer pool
- reads: 5 (~40.00 KiB) from the OS file cache, including disk I/O
- dirtied: 1 (~8.00 KiB)
- writes: 0
COUNT QUERY
SELECT COUNT(DISTINCT "approval_merge_request_rules"."merge_request_id") FROM "approval_merge_request_rules" LEFT OUTER JOIN "approval_merge_request_rule_sources" ON "approval_merge_request_rule_sources"."approval_merge_request_rule_id" = "approval_merge_request_rules"."id" WHERE "approval_merge_request_rule_sources"."approval_merge_request_rule_id" IS NULL AND "approval_merge_request_rules"."merge_request_id" BETWEEN 0 AND 9999;
Time: 0.834 ms
- planning: 0.719 ms
- execution: 0.115 ms
- I/O read: 0.000 ms
- I/O write: 0.000 ms
Shared buffers:
- hits: 3 (~24.00 KiB) from the buffer pool
- reads: 0 from the OS file cache, including disk I/O
- dirtied: 0
- writes: 0
COUNT QUERY (with time period)
explain SELECT COUNT(DISTINCT "approval_merge_request_rules"."merge_request_id") FROM "approval_merge_request_rules" LEFT OUTER JOIN "approval_merge_request_rule_sources" ON "approval_merge_request_rule_sources"."approval_merge_request_rule_id" = "approval_merge_request_rules"."id" WHERE "approval_merge_request_rules"."created_at" BETWEEN '2020-06-17 14:39:49.471022' AND '2020-07-15 14:39:49.471225' AND "approval_merge_request_rule_sources"."approval_merge_request_rule_id" IS NULL AND "approval_merge_request_rules"."merge_request_id" BETWEEN 0 AND 9999;
Time: 0.838 ms
- planning: 0.676 ms
- execution: 0.162 ms
- I/O read: 0.000 ms
- I/O write: 0.000 ms
Shared buffers:
- hits: 11 (~88.00 KiB) from the buffer pool
- reads: 0 from the OS file cache, including disk I/O
- dirtied: 0
- writes: 0
Screenshots
Does this MR meet the acceptance criteria?
Conformity
-
Changelog entry -
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
Related to #222312 (closed)
Edited by Mayra Cabrera