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.

AspectValue
Start PointDeployment created
End PointFirst success status
UnitMinutes
NULL whenDeployment 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.

AspectValue
Start PointPR merged
End PointDeployment created
UnitMinutes
NULL whenNo linked merged PR

Available aggregations:

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

What it measures: Time from issue creation to deployment.

AspectValue
Start PointIssue created
End PointDeployment created
UnitDays
NULL whenNo 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.

AspectValue
Start PointFirst failure status
End PointFirst success status
UnitHours
NULL whenNo 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.

AspectValue
MeasurechangeFailureRate
NumeratorProduction deployments that failed
DenominatorCompleted production deployments (success + failure)
UnitPercentage

Related counts:

  • changeFailureCount - Number of failed production deployments

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


MeasureDescription
countTotal deployments (all environments)
productionDeploymentCountProduction environment only
successfulProductionDeploymentCountSuccessful production deployments
changeFailureCountFailed production deployments
MeasureDescription
avgLinkedPrCountAverage PRs per deployment
avgLinkedIssueCountAverage issues per deployment
totalLinkedFeaturesTotal features deployed
totalLinkedBugsTotal bug fixes deployed

DimensionDescription
providerDeployment provider (GitHub Actions, etc.)
environmentTarget environment name
currentStatusCurrent deployment status
shaGit commit SHA
refGit ref (branch/tag)
DimensionDescription
isProductionProduction environment deployment
isSuccessfulCurrent status is success
isFailedCurrent status is failure/error
isInProgressDeployment still running
hadFailureHad a failure at some point
hadSuccessHad a success at some point
isChangeFailureProduction deployment that failed
isSuccessfulProductionDeploymentSuccessful production deployment
DimensionDescription
deploymentCreatedAtWhen deployment was triggered
deploymentUpdatedAtLast status update
firstSuccessAtFirst success timestamp
firstFailureAtFirst 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).