Average Pipeline Lead/Cycle Time
Purpose
Average Pipeline Time shows an average time for a pipeline to pass integration stages.
How metric helps
Average Pipeline Time helps to reveal an overall efficiency of an integration process and to highlight the most problematic entities (branches).
How it works
Chart overview
Chart shows Average Pipeline Time in minutes - Axis Y by calendar week - Axis X. The number of series in the chart is a number of selected branches in Project Configuration. Legend shows the last values of the metric by branch.
When hover over a series hint appears:
<Branch name>: <metric value in minutes>
Next to the chart name there is a link to GIT repository ('arrow').
Calculation formula
Average Pipeline Lead Time | Average Pipeline Cycle Time |
---|---|
Timing for a single pipeline: PT = Ptend - Ptstart, where Ptend - timestamp of a pipeline end Ptstart - timestamp of a pipeline start Average Pipeline Lead Time: PTavg =ΣPTi/N, where PTi - pipeline time of a single pipeline; N - number of successful pipelines within a considered week | Average Pipeline Cycle Time: PDavg =ΣPDi/N, where PDi - pipeline duration of a single pipeline - it is got from a master system as is (GitLab CI / Jenkins); N - number of successful pipelines within a considered week In Jenkins, pipeline duration (i.e. its "net" Cycle time) is equal to pipeline Lead time. So, the Avg Cycle Time per Jenkins, as a separate widget, is not quite valuable. In GitLab CI, the duration of a pipeline is equal to Lead time without retries and pending (queued) time i.e. reflects a real "net" execution time, see details. |
Assumptions:
Only successful pipelines are included into the calculation.
If a pipeline end timestamp is later than a week end then PERF takes an actual pipeline end timestamp
If a pipeline start timestamp is earlier than a week start then PERF takes an actual pipeline start timestamp
RAG thresholds: n/a.
Data Source
Data for the metric can be collected from GitLab CI or Jenkins. When using Jenkins make sure Pipeline plugin is installed.