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

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

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

Hyperlink

Chart for a job

Chart for a pipeline

Successful executions

Build results

Pipeline Success Rate

Failed executions

Build results

-

Average execution time

Average Build Time

Average Pipeline Lead/Cycle Time

Data Source

Data for the chart can be collected from Jenkins/GitLab CI.