The “CI/CD analytics” report shows how many of the pipelines a group or a project created over the selected period have completed, how long they took, and how their statuses are distributed.
Report availability
The report of a project is available to members with the “Reporter” role and above, including those who hold that role in a parent group.
The “Project-based pipeline visibility” setting of the project opens the report to everyone who can see the project itself: to users of the “Auditor” type, to members with the “Guest” role, in a public project to any visitor, including one who has not signed in, and in an internal project to any signed-in user. With the setting off, the report stays with the members holding the “Reporter” role and above.
Reading the report of a project requires access to the project’s pipelines as well. Narrowing the visibility of the “CI/CD” feature to project members closes the report to everyone outside the project, including a visitor to a public project. Users of the “Auditor” type retain access regardless of that setting.
Narrowing the visibility of the “Analytics” feature to project members closes the report the same way, and users of the “Auditor” type keep it the same way. Turning the “Analytics” feature off closes the report for everyone, the members of the project included.
Turning the “CI/CD” feature off does not close the report: the project keeps its accumulated pipeline history, and the report continues to display it. The “CI/CD analytics” entry, though, disappears from the “Analyze” menu — the same happens when the project’s repository is empty. In either case the report stays reachable at its direct address.
The report of a group is available to members with the “Reporter” role and above, including those who hold that role in a parent group, and to users of the “Auditor” type.
Viewing the report
To view the report of a group:
- In the top bar, select “Search or go to…” and pick the group.
- In the group menu, go to “Analyze” → “CI/CD analytics”.
To view the report of a project:
- In the top bar, select “Search or go to…” and pick the project.
- In the project menu, go to “Analyze” → “CI/CD analytics”.
The report is also available at a direct address:
| Report | Address |
|---|---|
| Group | https://<HOST>/groups/<GROUP>/-/analytics/ci_cd_analytics |
| Project | https://<HOST>/<GROUP>/<PROJECT>/-/analytics/ci_cd_analytics |
The report of a group covers the pipelines of its projects and the projects of its subgroups, archived projects included.
Metrics
The line above the charts sums up the period:
| Metric | Content |
|---|---|
| “Total pipeline runs” | Number of completed pipelines created within the period |
| “Median duration” | Median duration (p50) of the runs that took time |
| “Failure rate” | Share of failed runs among the runs that succeeded or failed |
| “Success rate” | Share of successful runs among the runs that succeeded or failed |
| “Other rate” | Share of canceled and skipped runs among all runs of the period |
“Failure rate” and “Success rate” divide by the runs that succeeded or failed. Each of them is rounded to a whole number on its own, so together they come to about a hundred: a period with 5 successful and 3 failed runs shows a failure rate of 38 % and a success rate of 63 %. “Other rate” divides by every run of the period and adds on top of those. The “How this is calculated?” icon next to “Failure rate” and “Other rate” states the formula.
A rate whose denominator holds no run of the period is shown as a dash. A period of canceled and skipped runs alone therefore shows a dash in “Failure rate” and “Success rate”, and a hundred per cent in “Other rate”.
When the project has failed runs, “View all” under “Failure rate” opens the pipeline list of the project filtered to the failed runs. A branch selected in the report is carried over to the list as a filter; with “All branches” the list opens without one.
Charts
The “Duration” chart holds a line per percentile of the pipeline duration:
- “Median (50th percentile)”;
- “95th percentile”.
The vertical axis of the chart is in minutes.
The “Status” chart holds a column per day, split into series:
- “Successful”;
- “Failed”;
- “Other (Cancelled, Skipped)”.
The vertical axis of the chart counts pipelines.
Filters
The filters above the charts narrow the metrics and both charts:
| Filter | Values |
|---|---|
| “Source” | Event that created the pipeline: “Push”, “Schedule”, “Merge Request Event” and the rest. “Any source” by default |
| “Branch” | Branch of the pipeline. The default branch of the project by default; “All branches” drops the filter. The report of a group has no such filter |
| “Date range” | “Last week”, “Last 30 days”, “Last 90 days”, “Last 180 days”. “Last week” by default |
The “Branch” filter also takes the pipelines of the merge requests this branch is the source of. Those pipelines are counted while “Source” stays at “Any source” or is set to “Merge Request Event”; with any other source the report counts the runs of the branch itself.
The selected filters are kept in the address of the page as the source and time parameters, so a configured report can be shared as a link. The report of a project keeps the branch there as well, as the branch parameter.
How pipelines are counted
The report counts the pipelines created within the period that have reached a completed status: successful, failed, canceled and skipped. A pipeline belongs to the day it was created on, counted in UTC, so a pipeline created on one day and completed on the next is counted on the day it was created.
The period ends at the start of the current day, so the pipelines created today stay out of the report and the charts carry no point for today.
The percentiles of the “Duration” chart and the “Median duration” metric skip the runs without a duration and the runs with a zero duration. A day with no such run carries no point on the chart, and a period with no such run shows a dash in place of the median.
The report of a group with the same filters and period is refreshed at most once a minute, so opening it again can show a state up to a minute old. The report of a project is built on every request.
When the report takes too long to build, the page shows the failure in place of the charts and asks for a narrower reporting window. Select a shorter “Date range” and open the report again.