Engineering summary: Continuous integration & deployment
Purpose
CI/CD summary shows metrics related to continuous integration & delivery such as job executions by status, average lead time for a job execution, commits led to broken builds, etc. Metric values are aggregated for the items selected in Project settings/CI/CD management system configuration (e.g. Jenkins).
How metric helps
CI/CD summary helps to understand the overall effectiveness of CI/CD process at an interested level: from project down to a job.
How metric works
Chart overview
Chart provides several views:
1 Main view: shows aggregated values for the metrics (on the left) and the same for each job/pipeline (table on the right):
2 Single view: it opens by click on an item in the table at Main view. Single view reveals metrics values for a selected job/pipeline:
3 Drill down: it opens by click on a metric name at Single view (a hyperlink). Depending on a metric there opens a chart revealing a metric trend in time:
Calculation
Chart is based on a CI/CD data source configuration: only selected jobs/pipelines are taken into account:
See also Jenkins configuration, GitLAB CI configuration.
Metrics included into Main view:
Metric | Calculation | Unit of Measure |
---|---|---|
Jobs | absolute number of selected jobs | item |
Total executions | absolute number of job runs | item |
Successful executions | absolute number of job runs finished with a 'success' status | item |
Average Job Execution Time | ΣTjob/Njob for selected jobs | min |
Commits Lead to Broken Build | Ncommit_fail/Ncommit_all * 100 % for selected jobs | % |
Pipelines | absolute number of selected pipelines | |
Average Pipeline Lead Time | ΣPipeline Lead Time /N for selected pipelines | min |
Red Pipeline Time | ΣRed Time/N, where Red Time is a red time for a pipeline N - number of selected pipelines | min |
Metrics included into single view:
Metric | Calculation | Unit of Measure |
---|---|---|
Total executions | absolute number of job/pipeline runs | item |
Successful executions | absolute number of job/pipeline runs finished with a 'success' status | item |
Failed executions | absolute number of job/pipeline executions finished with a 'fail' status | item |
Average execution time | ∑Trun /N, where Tbuild - time a job//pipeline takes for processing Nbuild - a number of jobs/pipelines | min |
Minimum execution time | minimum value of job/pipeline execution time during its existence | min |
Maximum execution time | maximum value of job/pipeline execution time during its existence | min |
By click on a hyperlink in single view the following charts open:
Hyperlink | Chart for a job | Chart for a pipeline |
---|---|---|
Successful executions | ||
Failed executions | - | |
Average execution time |
Data Source
Data for the chart can be collected from Jenkins/GitLab CI.