The “CI/CD analytics” report shows the number, duration and status distribution of completed pipelines created during the selected period (in a single project or across projects in a group and its subgroups).

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 is available only to members with 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.

When the visibility of the “Analytics” feature is restricted to project members, the report is closed to everyone else. Users of the “Auditor” type retain access. When the feature is disabled, the report is closed to everyone, including project members.

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:

  1. In the top bar, select “Search or go to…” and pick the group.
  2. In the group menu, go to “Analyze” → “CI/CD analytics”.

To view the report of a project:

  1. In the top bar, select “Search or go to…” and pick the project.
  2. In the project menu, go to “Analyze” → “CI/CD analytics”.

The report is also available at a direct address:

ReportAddress
Grouphttps://<HOST>/groups/<GROUP_PATH>/-/analytics/ci_cd_analytics
Projecthttps://<HOST>/<PROJECT_PATH>/-/analytics/ci_cd_analytics

Replace <GROUP_PATH> with the full group path, including parent groups (for example, team/backend). Replace <PROJECT_PATH> with the full project path, including its groups and subgroups, or the user name for a personal project (for example, team/backend/app or username/app).

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 shows the totals for the period:

MetricContent
“Total pipeline runs”Number of completed pipelines created within the period
“Median duration”Median duration (p50) of runs with a positive duration
“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 100 %: with 5 successful and 3 failed runs, the failure rate is 38 % and the success rate is 63 %. “Other rate” divides by all runs of the period, so the sum of the three rates may exceed 100 %. The formula is shown in the tooltip of the “How this is calculated?” icon next to “Failure rate” and “Other rate”.

A rate is shown as a dash when its denominator has no runs in the period. For example, if the period has only canceled and skipped runs, “Failure rate” and “Success rate” show a dash, and “Other rate” shows 100 %.

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 shows the number of pipelines.

Filters

The filters above the charts narrow the metrics and both charts:

FilterValues
“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 includes merge request pipelines whose source branch matches the selected branch. These pipelines are counted when “Source” is set to “Any source” or “Merge Request Event”. When another source is selected, the report counts only the pipelines of the selected branch.

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 have 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 without such runs has no point on the chart, and for a period without such runs a dash is shown 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.