doc/user/glql/data_sources/pipeline_analytics.md
{{< details >}}
{{< /details >}}
{{< history >}}
{{< /history >}}
Analytics mode returns aggregated metrics for finished pipelines, with data typically available within ten minutes.
To query individual pipeline records, use Pipelines.
| Scope | Description |
|---|---|
project | Query finished pipelines in a specific project. |
group | Query finished pipelines across all projects in a group, including subgroups. |
| Field | Name | Operators |
|---|---|---|
| Finished at | finished | =, >, <, >=, <= |
| Ref | ref | =, in |
| Source | source | =, in |
| Started at | started | =, >, <, >=, <= |
| Status | status | =, in |
Description: Filter pipelines by their finish date.
Allowed value types:
AbsoluteDate (in the format YYYY-MM-DD)RelativeDate (in the format <sign><digit><unit>, where sign is +, -, or omitted,
digit is an integer, and unit is one of d (days), w (weeks), m (months) or y (years))Notes:
= operator, the time range is considered from 00:00 to 23:59 in the user's time zone.>= and <= operators are inclusive of the dates being queried, whereas > and < are not.Description: Filter pipelines by the Git ref (branch or tag name) they ran on.
Allowed value types:
StringList (use in operator for multiple values)Description: Filter pipelines by their trigger event.
Allowed value types:
StringList (use in operator for multiple values)Description: Filter pipelines by their start date.
Allowed value types:
AbsoluteDate (in the format YYYY-MM-DD)RelativeDate (in the format <sign><digit><unit>, where sign is +, -, or omitted,
digit is an integer, and unit is one of d (days), w (weeks), m (months) or y (years))Notes:
= operator, the time range is considered from 00:00 to 23:59 in the user's time zone.>= and <= operators are inclusive of the dates being queried, whereas > and < are not.Description: Filter pipelines by their CI/CD status.
Allowed value types:
Enum, one of canceled, failed, skipped, or successList (use in operator for multiple values)| Dimension | Name | Description |
|---|---|---|
| Finished at | finished | Group by finish date, in weekly buckets. |
| Project | project | Group by project. |
| Ref | ref | Group by Git ref (branch or tag). |
| Source | source | Group by what triggered the pipeline. |
| Started at | started | Group by start date, in weekly buckets. |
| Status | status | Group by pipeline status. |
| Metric | Name | Description |
|---|---|---|
| Canceled rate | canceledRate | Ratio of canceled pipelines to total pipelines. |
| Duration quantile | durationQuantile | 95th percentile of pipeline duration, in seconds. |
| Failure rate | failureRate | Ratio of failed pipelines to total pipelines. |
| Skipped rate | skippedRate | Ratio of skipped pipelines to total pipelines. |
| Success rate | successRate | Ratio of successful pipelines to total pipelines. |
| Total count | totalCount | Total number of finished pipelines. |
[!note] Date dimensions use a fixed
weeklygranularity, anddurationQuantileuses a fixed 0.95 quantile. Support for configurable granularity and quantile is being proposed in GLQL issue 130.
Sort by any field included in your selected dimensions or metrics. For more information, see analytics mode sorting.
Pipeline success and failure rates by ref for the last 30 days:
```glql
title: "Pipeline success and failure rates by branch (last 30 days)"
display: table
mode: analytics
query: type = Pipeline and project = "gitlab-org/gitlab" and finished >= -30d
dimensions: ref as "Ref"
metrics: totalCount as "Total", successRate as "Success rate", failureRate as "Failure rate"
sort: totalCount desc
```
Pipeline duration trend by week for a specific ref:
```glql
title: "Weekly pipeline duration trend for master"
display: table
mode: analytics
query: type = Pipeline and project = "gitlab-org/gitlab" and ref = "master" and finished >= -90d
dimensions: finished as "Week"
metrics: totalCount as "Total", durationQuantile as "p95 duration (s)"
sort: finished desc
```
Overall pipeline metrics for a group, without grouping:
```glql
title: "Overall pipeline metrics for gitlab-org"
display: table
mode: analytics
query: type = Pipeline and group = "gitlab-org" and finished >= -7d
metrics: totalCount as "Total", successRate as "Success rate", failureRate as "Failure rate", canceledRate as "Canceled rate"
```
Pipelines grouped by source and status, filtered to a date range:
```glql
title: "Pipelines by source and status (Q1 2026)"
display: table
mode: analytics
query: type = Pipeline and project = "gitlab-org/gitlab" and finished >= "2026-01-01" and finished <= "2026-03-31"
dimensions: source as "Source", status as "Status"
metrics: totalCount as "Total"
sort: totalCount desc
```
Filter to specific refs and statuses across a group:
```glql
title: "Default branch pipeline outcomes across gitlab-org"
display: table
mode: analytics
query: type = Pipeline and group = "gitlab-org" and finished >= -14d and ref in ("master", "main") and status in ("success", "failed")
dimensions: project as "Project", status as "Status"
metrics: totalCount as "Total", successRate as "Success rate"
sort: totalCount desc
limit: 20
```