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

How to set up and validate locally

  1. Tail log/user_experience_slis.log.
  2. Approve a merge request.
  3. Observe start and end checkpoints logged with user_experience_id: approve_merge_request.

Merge request reports

Loading
Loading