gitlab-org--gitlab-foss/doc/user/analytics/dora_metrics.md

6.5 KiB

stage group info
Plan Optimize To determine the technical writer assigned to the Stage/Group associated with this page, see https://about.gitlab.com/handbook/product/ux/technical-writing/#assignments

DevOps Research and Assessment (DORA) metrics (ULTIMATE)

The DevOps Research and Assessment (DORA) team has identified four metrics that measure DevOps performance. Using these metrics helps improve DevOps efficiency and communicate performance to business stakeholders, which can accelerate business results.

DORA includes four key metrics, divided into two core areas of DevOps:

For software leaders, tracking velocity alongside quality metrics ensures they're not sacrificing quality for speed.

DORA Metrics dashboard in Value Stream Analytics

The four DORA metrics are available out-of-the-box in the Value Stream Analytics (VSA) overview dashboard. This helps you visualize the engineering work in the context of end-to-end value delivery.

The One DevOps Platform Value Stream Management provides end-to-end visibility to the entire software delivery lifecycle. This enables teams and managers to understand all aspects of productivity, quality, and delivery, without the "toolchain tax".

Deployment frequency

Deployment frequency is the frequency of successful deployments to production (hourly, daily, weekly, monthly, or yearly). This measures how often you deliver value to end users. A higher deployment frequency means you can get feedback sooner and iterate faster to deliver improvements and features. GitLab measures this as the number of deployments to a production environment in the given time period.

Deployment frequency displays in several charts:

To retrieve metrics for deployment frequency, use the GraphQL or the REST APIs.

Lead time for changes

Lead time for changes measures the time to deliver a feature once it has been developed, as described in Measuring DevOps Performance.

Lead time for changes displays in several charts:

To retrieve metrics for lead time for changes, use the GraphQL or the REST APIs.

Time to restore service

Time to restore service measures how long it takes an organization to recover from a failure in production. GitLab measures this as the average time required to close the incidents in the given time period. This assumes:

  • All incidents are related to a production environment.
  • Incidents and deployments have a strictly one-to-one relationship. An incident is related to only one production deployment, and any production deployment is related to no more than one incident).

Time to restore service displays in several charts:

To retrieve metrics for time to restore service, use the GraphQL or the REST APIs.

Change failure rate

Change failure rate measures the percentage of deployments that cause a failure in production. GitLab measures this as the number of incidents divided by the number of deployments to a production environment in the given time period. This assumes:

  • All incidents are related to a production environment.
  • Incidents and deployments have a strictly one-to-one relationship. An incident is related to only one production deployment, and any production deployment is related to no more than one incident.

To retrieve metrics for change failure rate, use the GraphQL or the REST APIs.

Insights: Custom DORA reporting

Custom charts to visualize DORA data with Insights YAML-based reports.

With this new visualization, software leaders can track metrics improvements, understand patterns in their metrics trends, and compare performance between groups and projects.

Supported DORA metrics in GitLab

Metric Level API UI chart Comments
deployment_frequency Project GitLab 13.7 and later GitLab 14.8 and later The previous API endpoint was deprecated in 13.10.
deployment_frequency Group GitLab 13.10 and later GitLab 13.12 and later
lead_time_for_changes Project GitLab 13.10 and later GitLab 13.11 and later Unit in seconds. Aggregation method is median.
lead_time_for_changes Group GitLab 13.10 and later GitLab 14.0 and later Unit in seconds. Aggregation method is median.
time_to_restore_service Project and group GitLab 14.9 and later GitLab 15.1 and later Unit in days. Aggregation method is median.
change_failure_rate Project and group GitLab 14.10 and later GitLab 15.2 and later Percentage of deployments.