Skip to content

GitLab Next

  • Projects
  • Groups
  • Snippets
  • Help
    • Loading...
  • Help
    • Help
    • Support
    • Community forum
    • Submit feedback
    • Contribute to GitLab
  • Sign in / Register
GitLab GitLab
  • Project overview
    • Project overview
    • Details
    • Activity
    • Releases
  • Repository
    • Repository
    • Files
    • Commits
    • Branches
    • Tags
    • Contributors
    • Graph
    • Compare
    • Locked Files
  • Issues 38,038
    • Issues 38,038
    • List
    • Boards
    • Labels
    • Service Desk
    • Milestones
    • Iterations
  • Merge requests 1,346
    • Merge requests 1,346
  • Requirements
    • Requirements
    • List
  • CI/CD
    • CI/CD
    • Pipelines
    • Jobs
    • Schedules
    • Test Cases
  • Operations
    • Operations
    • Metrics
    • Incidents
    • Environments
  • Packages & Registries
    • Packages & Registries
    • Container Registry
  • Analytics
    • Analytics
    • CI/CD
    • Code Review
    • Insights
    • Issue
    • Repository
    • Value Stream
  • Snippets
    • Snippets
  • Members
    • Members
  • Activity
  • Graph
  • Create a new issue
  • Jobs
  • Commits
  • Issue Boards
Collapse sidebar
  • GitLab.org
  • GitLabGitLab
  • Issues
  • #36146

Closed
Open
Created Nov 12, 2019 by Shinya Maeda@shinya.maeda💡Maintainer

Sending an alert to Slack when merge trains on www-gitlab-com are slow

Summary

Recently, we've been dogfooding Merge Trains on www-gitlab-com project. So far, occasionally we've observed that the merge trains were slow due to outstanding bugs, and we basically didn't recognize the problems until some users directly communicated to us on Slack channel.

This issue is to attempt to be a proactive on the incident. If the system has detected that the merge trains on www-gitlab-com are significantly slow, we fire an alert to ~"group::progressive delivery" slack channel.

Proposal

We expose a GET api/v4/merge_trains public API for getting a list of merge trains. Since we've already been persisting duration per merge train, we can periodically poll this endpoint for checking the health on www-gitlab-com. As a polling service, we're going to create a small script and run it every 20 minutes with a pipeline schedule.

API format

Endpoint params description
GET api/v4/projects/:id/merge_trains scope, sort Get all merge trains of a project

Reference

  • https://gitlab.com/dosuken123/merge-trains-health-checker

Past metrics

We can also run a manual script to collect such data point. e.g. https://docs.google.com/spreadsheets/d/1WN0eFOrVatLvI47ry3t1czom2UnUO2iNKe-rACiNEbI/edit#gid=1349733017

Edited Feb 17, 2020 by Shinya Maeda
Assignee
Assign to
12.9
Milestone
12.9 (Past due)
Assign milestone
Time tracking