Instrument Adoption for Custom Roles MVC
What does this MR do and why?
- Count of unique users with a custom role
- #382255 (closed)
DB Query
There isn't a lot of data on prod for this yet because it is a brand new feature but here is the generated sql for the metric in a 28 day timeframe (Gitlab::Usage::Metrics::Instrumentations::CountUsersWithCustomRolesMetric.new(time_frame: '28d', data_source: 'database').value
).
Gitlab::Usage::Metrics::Instrumentations::CountUsersWithCustomRolesMetric.new(time_frame: '28d', data_source: 'database').value
(1.6ms) SELECT MIN("members"."user_id") FROM "members" WHERE "members"."member_role_id" IS NOT NULL AND "members"."created_at" BETWEEN '2023-01-03 00:34:38.895132' AND '2023-01-31 00:34:38.895269'
(0.3ms) SELECT MAX("members"."user_id") FROM "members" WHERE "members"."member_role_id" IS NOT NULL AND "members"."created_at" BETWEEN '2023-01-03 00:34:38.895132' AND '2023-01-31 00:34:38.895269'
(0.6ms) SELECT COUNT(DISTINCT "members"."user_id") FROM "members" WHERE "members"."member_role_id" IS NOT NULL AND "members"."created_at" BETWEEN '2023-01-03 00:34:38.895132' AND '2023-01-31 00:34:38.895269' AND "members"."user_id" >= 0 AND "members"."user_id" < 1
=> 0
And here is a database plan for
SELECT COUNT(DISTINCT "members"."user_id") FROM "members" WHERE "members"."member_role_id" IS NOT NULL
- https://console.postgres.ai/gitlab/gitlab-production-tunnel-pg12/sessions/15100/commands/52461
- https://explain.depesz.com/s/7KD6
How to set up and validate locally
Numbered steps to set up and validate the change are strongly suggested.
MR acceptance checklist
This checklist encourages us to confirm any changes have been analyzed to reduce risks in quality, performance, reliability, security, and maintainability.
-
I have evaluated the MR acceptance checklist for this MR.
Edited by Jessie Young