Delivery Team Metrics

The Delivery Team enables GitLab Engineering to deliver features in a safe, scalable and efficient fashion to both GitLab.com and self-managed customers.

Metrics

Delivery team uses Mean Time To Production (MTTP) as an indicator of our speed capabilities to deploy application changes into production.

MTTP measures the elapsed time (in hours) from merging a change in gitlab-org/gitlab project master branch, to deploying that change to GitLab.com.

MTTP breakdown

MTTP is conformed by:

  • Time to inclusion: The merge request is merged and waiting to be included in an auto-deploy branch.
  • Time to package: The package to be deployed is being built.
  • Time to staging: Time it takes for the package to be deployed to staging and tested.
  • Time to canary: Time it takes for the package to be deployed to canary and tested.
  • Time to production: Time it takes for the package to be deployed to production.

To measure the MTTP subcomponents, the following metrics are used:

These allows to decide whether we need to focus on speed or safety would have the biggest impact on further reducing MTTP.

Deployment SLO

Deployment SLO measures the deployment frequency and duration by tracking the percentage of deployment pipelines that complete within the target duration. Deployment duration is measured as the elapsed time between a starting on staging canary (gstg-cny) through the completion of the deployment on Production (gprd). Visit the Releases page for an end-to-end overview of the various environments and deployment process.

Deployment SLO apdex

Next: Include Deployment SLO metric as part of our release process

Release Manager workload metrics

The Release Manager workload metrics - internal link track the time needed for Release Management tasks.

Each process is broken down into key parts to help identify where the majority of the effort is spent. Overall times are tracked and an average allows changes over time to been observed.

More details about what is being measured, and how, can be found in the release docs.