CI Health provides centralized visibility into your CI pipelines so you can improve CI processes based on precise objectives. The page organizes pipeline metrics, test results, and execution data to help you identify the most impactful pipelines and jobs within the following main objectives:
No additional setup is needed—the CI Health page is available out-of-the-box when you enable CI Visibility.
image placeholder
Save Developer Time
This objective helps you minimize the time developers spend running pipelines multiple times to make them pass.
By default, pipelines are sorted by their retry percentage, so you can focus on pipelines with the most retries. Aggregated data shows the portion of commits ending in failure and how many are flaky (both failing and passing across multiple runs).
To reduce flakiness, click on a pipeline and sort the results in the side panel to find the flakiest jobs. You can also use the breakdown column to identify the types of failures, which can give you insight into possible root causes. Click View Pipeline Executions to further investigate CI runs in Pipeline Executions.
image placeholder
Reduce CI Cost
This objective helps you reduce the cost of your CI environment by identifying wasted compute time from pipeline retries.
This view highlights the wasted active jobs time, which is the sum of durations of jobs that needed retries. In SaaS CI environments, this indicates potential savings in billable time you wouldn’t have to pay for if there were no flaky pipelines.
This measure is also significant for on-premises CI runners, though it may overestimate the impact of pipelines with parallelized jobs. For self-hosted CI environments, wasted runners time represents the infrastructure cost that you could save without flaky pipelines.
By default, pipelines are sorted by wasted active jobs time, so you can focus on pipelines contributing to your CI cost with the most retries.
Change the Aggregation method from Avg to Sum to find the biggest contributors to cost due to wasted CI time.
To reduce flakiness, click on a pipeline and sort the results in the side panel to find the flakiest jobs. You can also use the breakdown column to identify the types of failures, which can give you insight into possible root causes. Click View Pipeline Executions to further investigate CI runs in Pipeline Executions.
image placeholder
Speed Up Pipelines
This objective helps you reduce the time needed to get a passing pipeline per commit.
This view highlights the time to pass, which is the time from the first execution to the first passing pipeline. It represents how much time is needed for a commit to get a successful pipeline. This can impact the DORA metrics lead time for changes and time to restore service.
image placeholder
The breakdown column identifies several types of time measurements and how they contribute to the total time to pass:
Execution time: The running time of the pipeline. To reduce this, focus on optimizing jobs in the critical path. Click on a pipeline and sort by the Time on critical path column in the side panel.
image placeholder
Idle time: The time between pipeline executions. To reduce this:
- Minimize flakiness in pipelines and jobs.
- Apply Auto Test Retries.
- Optimize notifications so developers know their pipeline failed and may need a retry.
Pipeline creation time: The time spent creating the pipeline.
Queue time: The time jobs spend waiting for a runner. To reduce this, spin up more runners.
Wait/Approval time: The time for manual approvals.
Other time: Uncategorized time contributing to total time to pass.