Loading
Draft: Add approve_merge_request user experience SLI
What does this MR do and why?
Instruments the Approve MR customer journey as a User Experience SLI.
It measures the synchronous time from the approve request (POST /projects/:id/merge_requests/:merge_request_iid/approve) to the approval being persisted and the approval/merge-check state updated. This is a system-performance signal under our control, independent of user workflow time.
Changes:
- Adds the SLI definition
config/user_experience_slis/approve_merge_request.yml(feature_category: code_review_workflow,urgency: async_fast). - Wraps the approve API endpoint body with a
Labkit::UserExperienceSli.start(:approve_merge_request)block that starts/completes the experience. - Adds a request spec asserting the experience starts and completes.
Counters emit with user_experience_id: approve_merge_request on the web service type.
References
- Resolves https://gitlab.com/gitlab-org/gitlab/-/issues/601335
- Part of the UX SLI discussion in https://gitlab.com/gitlab-org/gitlab/-/issues/596311
- Parent epic: &21526
How to set up and validate locally
- Tail
log/user_experience_slis.log. - Approve a merge request.
- Observe
startandendcheckpoints logged withuser_experience_id: approve_merge_request.