Skip to content

Deployment Flow Metrics

The Deployment Flow tracks individual deployments through your CI/CD pipeline. Use these metrics to analyze deployment timing, reliability, and the relationship between deployments and other work items.

Grain: One row per deployment Refresh: Every 15 minutes Primary Use Case: Deployment pipeline analytics, release tracking, incident response

What it measures: Time for a deployment to complete.

Aspect Value
Start Point Deployment created
End Point First success status
Unit Minutes
NULL when Deployment hasn’t succeeded yet

Available aggregations:

  • avgDeploymentDurationMinutes - Average deployment execution time

Interpretation:

  • Measures the deployment pipeline execution time
  • Long durations indicate slow CI/CD pipelines or manual steps

What it measures: Time from code merge to deployment.

Aspect Value
Start Point PR merged
End Point Deployment created
Unit Minutes
NULL when No linked merged PR

Available aggregations:

  • avgMergeToDeployMinutes - Average pipeline time
  • medianMergeToDeployMinutes - Median pipeline time (recommended)

What it measures: Time from issue creation to deployment.

Aspect Value
Start Point Issue created
End Point Deployment created
Unit Days
NULL when No linked issue

Available aggregations:

  • avgIssueToDeployDays - Average from issue to deploy

Interpretation: This is a broader lead time measure including all work before coding begins.


What it measures: How quickly the team recovers from a deployment failure.

Aspect Value
Start Point First failure status
End Point First success status
Unit Hours
NULL when No failure occurred, or no recovery yet

Available aggregations:

  • avgMttrHours - Average recovery time
  • medianMttrHours - Median recovery time (recommended)

Note: Only calculated for deployments that experienced a failure. Successful deployments have NULL recovery time.


What it measures: Percentage of production deployments that result in failure.

Aspect Value
Measure changeFailureRate
Numerator Production deployments that failed
Denominator Completed production deployments (success + failure)
Unit Percentage

Related counts:

  • changeFailureCount - Number of failed production deployments

Note: Only counts completed deployments. In-progress deployments are excluded.


Measure Description
count Total deployments (all environments)
productionDeploymentCount Production environment only
successfulProductionDeploymentCount Successful production deployments
changeFailureCount Failed production deployments
Measure Description
avgLinkedPrCount Average PRs per deployment
avgLinkedIssueCount Average issues per deployment
totalLinkedFeatures Total features deployed
totalLinkedBugs Total bug fixes deployed

Dimension Description
provider Deployment provider (GitHub Actions, etc.)
environment Target environment name
currentStatus Current deployment status
sha Git commit SHA
ref Git ref (branch/tag)
Dimension Description
isProduction Production environment deployment
isSuccessful Current status is success
isFailed Current status is failure/error
isInProgress Deployment still running
hadFailure Had a failure at some point
hadSuccess Had a success at some point
isChangeFailure Production deployment that failed
isSuccessfulProductionDeployment Successful production deployment
Dimension Description
deploymentCreatedAt When deployment was triggered
deploymentUpdatedAt Last status update
firstSuccessAt First success timestamp
firstFailureAt First failure timestamp
  • Projects.id / Projects.name - Filter by project
  • Teams.id / Teams.name - Filter by team
  • Users.id / Users.name - Filter by deployment creator

Measures:
- productionDeploymentCount
- successfulProductionDeploymentCount
- changeFailureRate
Analysis: Track failure rate trends over time
Measures:
- avgDeploymentDurationMinutes
- medianMergeToDeployMinutes
Analysis: Identify slow pipeline stages
Measures:
- changeFailureCount (incidents)
- medianMttrHours (recovery time)
Filter: hadFailure = true
Analysis: Identify patterns in failures
Measures:
- avgLinkedPrCount (batch size)
- totalLinkedFeatures (feature throughput)
- totalLinkedBugs (bug fix throughput)
Analysis: Understand what's being deployed

Q: How is production determined?

The isProduction flag is set based on the environment name matching production patterns (e.g., “production”, “prod”, “prd”). Check your deployment configuration if unexpected.

Q: Why do some deployments show NULL for recovery time?

Recovery time is only calculated for deployments that experienced a failure. Successful deployments (no failure at any point) have NULL recovery time - this is correct, not a data issue.

Q: What’s the difference between isFailed and hadFailure?

isFailed reflects the current status. hadFailure indicates whether the deployment ever failed at any point, even if it later succeeded (after recovery).