InfoGrab DocsInfoGrab Docs

Duo 워크플로

요약

이 데이터 소스는 GitLab Duo Agent Platform 플로 분석 엔진에서 데이터를 읽으며, 이 엔진은 dap_impact_v1이라는 기능 플래그로 제어됩니다. 이 데이터 소스는 프로젝트 또는 그룹 전체에서 실행된 GitLab Duo Agent Platform 플로 (Duo 워크플로라고도 함)에 대한 집계 지표를 제공하며, 플로가 사용한 크레딧 수도 포함합니다.

히스토리
  • GitLab 19.5에서 실험 기능으로 도입되었습니다.
  • model 차원이 GitLab 19.5에서 도입되었습니다.
  • status 필터와 차원, 그리고 flowTypesCount, returningUsersCount, joinedUsersCount, churnedUsersCount, previousPeriodUsersCount, createdMrCount, mergedMrCount, closedMrCount 지표가 GitLab 19.5에서 도입되었습니다.
  • userTier 차원과 flowTypesUsed, activeDays 필터가 GitLab 19.5에서 도입되었습니다.
  • totalCount의 status 매개변수가 GitLab 19.5에서 도입되었습니다.
  • group 차원이 GitLab 19.5에서 도입되었습니다.
  • openMrCount 지표가 GitLab 19.5에서 도입되었습니다.
  • creditsPerMergedMrRatio 지표가 GitLab 19.5에서 도입되었습니다.
  • flowType, status, user 필터의 != 및 not in 연산자가 GitLab 19.5에서 도입되었습니다.
  • model 차원이 GitLab 19.5에서 모델 카탈로그 이름을 표시하도록 변경되었습니다.
Feature flag

이 데이터 소스는 GitLab Duo Agent Platform 플로 분석 엔진에서 데이터를 읽으며, 이 엔진은 dap_impact_v1이라는 기능 플래그로 제어됩니다. 이 플래그는 기본적으로 비활성화되어 있습니다. 관리자가 활성화하기 전까지 쿼리는 오류를 반환합니다.

이 데이터 소스는 프로젝트 또는 그룹 전체에서 실행된 GitLab Duo Agent Platform 플로 (Duo 워크플로라고도 함)에 대한 집계 지표를 제공하며, 플로가 사용한 크레딧 수도 포함합니다.

허용되는 모드#

허용되는 범위#

범위 설명
project 특정 프로젝트의 GitLab Duo Agent Platform 플로를 쿼리합니다.
group 하위 그룹을 포함해 그룹 내 모든 프로젝트의 GitLab Duo Agent Platform 플로를 쿼리합니다.

여러 그룹 또는 프로젝트에 걸쳐 GitLab Duo 워크플로를 집계하려면 in 연산자와 목록을 사용합니다. 자세한 내용은 여러 그룹 및 프로젝트를 참고합니다.

쿼리 필터#

결과를 필터링하려면 query 매개변수에서 다음 필드를 사용합니다.

필드 이름(및 별칭) 연산자
활성 일수 activeDays =, >, <, >=, <=
생성일 created (opened, openedAt, createdAt) =, >, <, >=, <=
플로 유형 flowType =, !=, in, not in
사용한 플로 유형 수 flowTypesUsed =, >, <, >=, <=
상태 status =, !=, in, not in
사용자 user =, !=, in, not in

활성 일수#

설명: 선택한 기간 동안 사용자가 플로를 생성한 고유한 날짜의 수를 기준으로 플로를 필터링합니다. activeDays = 1은 정확히 하루만 활동한 사용자와 일치합니다.

허용되는 값 유형: Number

참고:

  • 이 수는 선택한 전체 기간을 대상으로 사용자별로 계산합니다.
  • 두 개의 범위 연산자를 조합해 구간을 지정할 수 있습니다. 예를 들어 activeDays >= 2 and activeDays <= 5입니다. 단, 같은 필드에서 =를 다른 비교와 함께 쓸 수는 없습니다.

생성일#

설명: 플로가 생성된 날짜를 기준으로 플로를 필터링합니다. 특정 기간을 지정하려면 created 조건을 여러 개 사용합니다.

허용되는 값 유형:

  • AbsoluteDate (YYYY-MM-DD 형식)
  • RelativeDate (<sign><digit><unit> 형식이며, sign은 +, - 또는 생략, digit은 정수, unit은 d(일), w(주), m(월), y(년) 중 하나)

참고:

  • = 연산자의 경우 GLQL은 사용자의 시간대를 기준으로 00:00부터 23:59까지의 시간 범위를 사용합니다.

플로 유형#

설명: 유형을 기준으로 플로를 필터링합니다. 예: software_development 또는 code_review/v1.

허용되는 값 유형:

  • String
  • List (여러 값에는 in 또는 not in 연산자 사용)

사용한 플로 유형 수#

설명: 선택한 기간 동안 사용자가 실행한 고유한 플로 유형의 수를 기준으로 플로를 필터링합니다. flowTypesUsed >= 2는 플로 유형을 두 개 이상 사용한 사용자와 일치합니다.

허용되는 값 유형: Number

참고:

  • 이 수는 선택한 전체 기간을 대상으로 사용자별로 계산합니다.
  • 같은 조합 규칙이 적용됩니다. 구간에는 두 개의 범위 연산자를 사용하며, 같은 필드에서 =를 다른 비교와 함께 쓸 수는 없습니다.

상태#

설명: 수명 주기 상태를 기준으로 플로를 필터링합니다.

허용되는 값 유형:

  • Enum, 값은 created, running, paused, finished, failed, stopped, input_required, plan_approval_required, tool_call_approval_required 중 하나
  • List (여러 값에는 in 또는 not in 연산자 사용)

참고:

  • *_required로 끝나는 세 가지 상태는 사용자를 기다리는 플로이며, paused와는 구분됩니다.
  • 상태는 대소문자를 구분하지 않고 일치시킵니다. completed, aborted 같은 다른 표기는 허용되지 않습니다.

사용자#

설명: 플로를 실행한 사용자를 기준으로 필터링합니다.

허용되는 값 유형:

  • Number (사용자 ID)
  • List (여러 사용자 ID에는 in 또는 not in 연산자 사용)
Note

사용자 이름 필터링 지원은 이슈 599750에서 추적하고 있습니다.

차원#

차원 이름 설명
Created created 날짜별로 그룹화합니다. daily, weekly, monthly 또는 30d처럼 일 수를 지정하는 granularity 매개변수(기본값: monthly)와 선택적 origin을 받습니다. 예: created(weekly) 또는 created(granularity=30d, origin=2026-07-16).
Flow type flowType 플로 유형별로 그룹화합니다.
Group group 그룹별로 그룹화합니다. 최상위 그룹부터 센 depth 매개변수를 1부터 99까지(기본값: 1) 받으므로, group은 최상위 그룹을 반환하고 group(depth=2)는 그 하위 그룹을 반환합니다. 해당 깊이보다 위에 있는 플로, 또는 하위 그룹이 아니라 그 깊이의 프로젝트에 있는 플로(예: depth=2일 때 최상위 그룹 바로 아래의 프로젝트)에는 그룹이 없으며, 그룹이 없는 행이 결과에 둘 이상 포함될 수 있습니다.
Model model 플로가 사용한 모델별로 그룹화합니다(모델 카탈로그 이름을 표시). 카탈로그에 없는 모델은 원래 식별자를 표시합니다. 모델 정보가 기록되지 않은 플로에는 이름이 없습니다. 행은 플로가 보고한 모델 식별자 기준으로 그룹화되므로, 하나의 카탈로그 이름이 둘 이상의 행이나 차트 막대에 나타날 수 있습니다.
Project project 프로젝트별로 그룹화합니다. 프로젝트 범위에 속하지 않는 플로는 프로젝트가 없는 하나의 행으로 묶입니다.
Status status 플로 상태별로 그룹화합니다. 행은 알파벳순이 아니라 수명 주기 순서로 정렬됩니다.
User user 사용자별로 그룹화합니다(아바타, 이름, 사용자 이름 표시).
User tier userTier 사용자가 선택한 전체 기간 동안 실행한 플로 수에 따라 사용자를 그룹화하며, created(weekly) 같은 다른 차원을 함께 선택해도 마찬가지입니다. thresholds 매개변수가 필요하며, 기본값은 없습니다. 이 매개변수는 1 이상의 엄격하게 오름차순인 정수 1개에서 9개로 이루어진 목록입니다. 예를 들어 userTier(thresholds=[4, 25, 100])는 tier_0(플로 4개 미만), tier_1(4개에서 24개), tier_2(25개에서 99개), tier_3(100개 이상)을 반환합니다. 임계값이 하나뿐이면 대괄호 없이 userTier(8)처럼 쓸 수 있습니다.

지표#

지표 이름 설명
Churned users count churnedUsersCount 이전 기간에는 플로를 실행했지만 이번 기간에는 실행하지 않은 고유 사용자 수입니다.
Closed MR count max closedMrCountMax 단일 플로가 생성한 닫힌 머지 리퀘스트의 최대 수입니다.
Closed MR count mean closedMrCountMean 플로당 생성된 닫힌 머지 리퀘스트의 평균 수입니다.
Closed MR count min closedMrCountMin 단일 플로가 생성한 닫힌 머지 리퀘스트의 최소 수입니다.
Closed MR count quantile closedMrCountQuantile 지정한 분위수에서의 플로당 생성된 닫힌 머지 리퀘스트 수입니다. 0.01에서 0.99 사이의 quantile 매개변수(기본값: 0.5)를 받습니다. 예: closedMrCountQuantile(0.95).
Closed MR count sum closedMrCountSum 모든 플로가 생성한 닫힌 머지 리퀘스트의 총수입니다.
Created MR count max createdMrCountMax 단일 플로가 생성한 머지 리퀘스트의 최대 수입니다.
Created MR count mean createdMrCountMean 플로당 생성된 머지 리퀘스트의 평균 수입니다.
Created MR count min createdMrCountMin 단일 플로가 생성한 머지 리퀘스트의 최소 수입니다.
Created MR count quantile createdMrCountQuantile 지정한 분위수에서의 플로당 생성된 머지 리퀘스트 수입니다. 0.01에서 0.99 사이의 quantile 매개변수(기본값: 0.5)를 받습니다. 예: createdMrCountQuantile(0.95).
Created MR count sum createdMrCountSum 모든 플로가 생성한 머지 리퀘스트의 총수입니다.
Credits per merged MR ratio creditsPerMergedMrRatio 플로가 생성하고 나중에 머지된 머지 리퀘스트당 사용된 크레딧입니다. 머지 리퀘스트를 생성하지 않은 플로를 포함해 모든 플로의 크레딧이 계산됩니다.
Credits used max creditsUsedMax 단일 플로가 사용한 최대 크레딧입니다.
Credits used mean creditsUsedMean 플로당 사용된 평균 크레딧입니다.
Credits used min creditsUsedMin 단일 플로가 사용한 최소 크레딧입니다.
Credits used quantile creditsUsedQuantile 지정한 분위수에서의 플로당 사용된 크레딧입니다. 0.01에서 0.99 사이의 quantile 매개변수(기본값: 0.5)를 받습니다. 예: creditsUsedQuantile(0.95).
Credits used sum creditsUsedSum 모든 플로가 사용한 총 크레딧입니다.
Flow types count flowTypesCount 고유한 플로 유형의 수입니다.
Joined users count joinedUsersCount 이번 기간에 플로를 실행했지만 이전 기간에는 실행하지 않은 고유 사용자 수입니다.
Merged MR count max mergedMrCountMax 단일 플로가 생성한 머지된 머지 리퀘스트의 최대 수입니다.
Merged MR count mean mergedMrCountMean 플로당 생성된 머지된 머지 리퀘스트의 평균 수입니다.
Merged MR count min mergedMrCountMin 단일 플로가 생성한 머지된 머지 리퀘스트의 최소 수입니다.
Merged MR count quantile mergedMrCountQuantile 지정한 분위수에서의 플로당 생성된 머지된 머지 리퀘스트 수입니다. 0.01에서 0.99 사이의 quantile 매개변수(기본값: 0.5)를 받습니다. 예: mergedMrCountQuantile(0.95).
Merged MR count sum mergedMrCountSum 모든 플로가 생성한 머지된 머지 리퀘스트의 총수입니다.
Open MR count max openMrCountMax 단일 플로가 생성한 열린 머지 리퀘스트의 최대 수입니다.
Open MR count mean openMrCountMean 플로당 생성된 열린 머지 리퀘스트의 평균 수입니다.
Open MR count min openMrCountMin 단일 플로가 생성한 열린 머지 리퀘스트의 최소 수입니다.
Open MR count quantile openMrCountQuantile 지정한 분위수에서의 플로당 생성된 열린 머지 리퀘스트 수입니다. 0.01에서 0.99 사이의 quantile 매개변수(기본값: 0.5)를 받습니다. 예: openMrCountQuantile(0.95).
Open MR count sum openMrCountSum 모든 플로가 생성한 열린 머지 리퀘스트의 총수입니다.
Previous period users count previousPeriodUsersCount 이전 기간의 고유 사용자 수입니다.
Projects count projectsCount 고유한 프로젝트의 수입니다. 프로젝트 범위에 속하지 않는 플로는 계산되지 않으므로, 해당 플로의 행에는 0이 표시됩니다.
Returning users count returningUsersCount 이전 기간에도 플로를 실행한 고유 사용자 수입니다.
Total count totalCount 플로의 총수이며, 선택적으로 상태로 필터링할 수 있습니다. 하나 이상의 플로 상태(status 필터와 같은 값)를 지정하는 선택적 status 매개변수를 받습니다. 예: totalCount(status="finished") 또는 totalCount(status=["paused", "input_required"]). 매개변수가 없거나 status=[]이면 모든 플로를 계산합니다.
Users count usersCount 고유 사용자 수입니다.
Note

creditsPerMergedMrRatio를 포함한 크레딧 지표를 보려면 그룹 또는 프로젝트에서 Owner 또는 Security Manager 권한이 있거나, read_agent_artifacts 권한이 있는 사용자 지정 역할이 필요합니다. 다른 사용자에게는 이 지표가 비어 있습니다.

참고:

  • returningUsersCount, joinedUsersCount, churnedUsersCount, previousPeriodUsersCount 지표는 각 created 버킷을 직전 버킷과 비교하므로, created 차원도 함께 선택한 경우에만 유효합니다. created 필터만으로는 충분하지 않습니다.
  • mergedMrCount, closedMrCount, openMrCount 지표는 플로가 생성한 머지 리퀘스트 중 이후 머지되었거나, 머지되지 않고 닫혔거나, 아직 열려 있는 것의 수를 계산합니다. 이 지표는 해당 머지 리퀘스트의 현재 상태보다 늦게 반영될 수 있으므로, 최근에 머지된 머지 리퀘스트가 여전히 열린 것으로 계산될 수 있습니다.

정렬 필드#

선택한 차원 또는 지표에 포함된 모든 필드로 정렬할 수 있습니다. 자세한 내용은 analytics 모드 정렬을 참고합니다.

예시#

  • 30일간 플로 유형별 플로:

    ```glql
    title: "Duo workflows by flow type (last 30 days)"
    display: table
    mode: analytics
    query: type = DuoWorkflow and group = "gitlab-org" and created > -30d
    dimensions: flowType as "Flow"
    metrics: totalCount as "Flows", usersCount as "Users", creditsUsedSum as "Credits"
    sort: totalCount desc
    ```
    
  • 월별 크레딧 사용량 추이:

    ```glql
    title: "Monthly Duo workflow credit usage trend"
    display: columnChart
    mode: analytics
    query: type = DuoWorkflow and group = "gitlab-org" and created > -90d
    dimensions: created(monthly) as "Month"
    metrics: creditsUsedSum as "Credits used"
    sort: created asc
    ```
    
  • 채팅 플로를 제외한 월별 크레딧 사용량:

    ```glql
    title: "Monthly Duo workflow credits, excluding chat"
    display: columnChart
    mode: analytics
    query: type = DuoWorkflow and group = "gitlab-org" and created > -90d and flowType not in ("chat", "agentic_chat/v1")
    dimensions: created(monthly) as "Month", flowType as "Flow"
    metrics: creditsUsedSum as "Credits used"
    sort: created asc
    ```
    
  • 30일간 모델별 크레딧:

    ```glql
    title: "Duo workflow credits by model (last 30 days)"
    display: barChart
    mode: analytics
    query: type = DuoWorkflow and group = "gitlab-org" and created > -30d
    dimensions: model as "Model"
    metrics: creditsUsedSum as "Credits used"
    sort: creditsUsedSum desc
    ```
    
  • 30일간 크레딧 상위 사용자:

    ```glql
    title: "Top users by Duo workflow credits (last 30 days)"
    display: table
    mode: analytics
    query: type = DuoWorkflow and group = "gitlab-org" and created > -30d
    dimensions: user as "User"
    metrics: totalCount as "Flows", creditsUsedSum as "Credits", creditsUsedMean as "Avg credits per flow"
    sort: creditsUsedSum desc
    limit: 10
    ```
    
  • 30일간 상태별 플로:

    ```glql
    title: "Duo workflows by status (last 30 days)"
    display: table
    mode: analytics
    query: type = DuoWorkflow and group = "gitlab-org" and created > -30d
    dimensions: status as "Status"
    metrics: totalCount as "Flows", createdMrCountSum as "MRs created", mergedMrCountSum as "MRs merged", openMrCountSum as "MRs open"
    sort: status asc
    ```
    
  • 주별 사용자 유지율:

    ```glql
    title: "Weekly Duo workflow user retention"
    display: table
    mode: analytics
    query: type = DuoWorkflow and group = "gitlab-org" and created > -90d
    dimensions: created(weekly) as "Week"
    metrics: usersCount as "Users", returningUsersCount as "Returning", joinedUsersCount as "Joined", churnedUsersCount as "Churned"
    sort: created desc
    ```
    
  • 30일간 활동 구간 및 플로 유형별 사용자:

    ```glql
    title: "Duo workflow users by activity tier (last 30 days)"
    display: table
    mode: analytics
    query: type = DuoWorkflow and group = "gitlab-org" and created > -30d
    dimensions: userTier(thresholds=[4, 25, 100]) as "Tier", flowType as "Flow"
    metrics: totalCount as "Flows", usersCount as "Users"
    sort: userTier asc
    ```
    
  • 30일간 상태별 플로 수 나란히 비교:

    ```glql
    title: "Duo workflows by outcome (last 30 days)"
    display: table
    mode: analytics
    query: type = DuoWorkflow and group = "gitlab-org" and created > -30d
    metrics: totalCount as "All", totalCount(status="finished") as "Completed", totalCount(status=["paused", "input_required"]) as "Waiting", totalCount(status="failed") as "Failed"
    ```
    
  • 30일간 그룹 비교:

    ```glql
    title: "Duo workflow usage by subgroup (last 30 days)"
    display: table
    mode: analytics
    query: type = DuoWorkflow and group = "gitlab-org" and created > -30d
    dimensions: group(depth=2) as "Group"
    metrics: usersCount as "Users", creditsUsedSum as "Credits"
    sort: usersCount desc
    ```
    
  • 그룹화 없는 전체 사용량:

    ```glql
    title: "Duo workflow usage overview (last 30 days)"
    display: table
    mode: analytics
    query: type = DuoWorkflow and group = "gitlab-org" and created > -30d
    metrics: totalCount as "Flows", usersCount as "Users", projectsCount as "Projects", creditsUsedQuantile(0.5) as "Median credits"
    ```
    

Duo 워크플로

GitLab v19.5
Tier: Premium, Ultimate
Offering: GitLab.com, GitLab Self-Managed
원문 보기

요약

이 데이터 소스는 GitLab Duo Agent Platform 플로 분석 엔진에서 데이터를 읽으며, 이 엔진은 dap_impact_v1이라는 기능 플래그로 제어됩니다. 이 데이터 소스는 프로젝트 또는 그룹 전체에서 실행된 GitLab Duo Agent Platform 플로 (Duo 워크플로라고도 함)에 대한 집계 지표를 제공하며, 플로가 사용한 크레딧 수도 포함합니다.

히스토리
  • GitLab 19.5에서 실험 기능으로 도입되었습니다.
  • model 차원이 GitLab 19.5에서 도입되었습니다.
  • status 필터와 차원, 그리고 flowTypesCount, returningUsersCount, joinedUsersCount, churnedUsersCount, previousPeriodUsersCount, createdMrCount, mergedMrCount, closedMrCount 지표가 GitLab 19.5에서 도입되었습니다.
  • userTier 차원과 flowTypesUsed, activeDays 필터가 GitLab 19.5에서 도입되었습니다.
  • totalCount의 status 매개변수가 GitLab 19.5에서 도입되었습니다.
  • group 차원이 GitLab 19.5에서 도입되었습니다.
  • openMrCount 지표가 GitLab 19.5에서 도입되었습니다.
  • creditsPerMergedMrRatio 지표가 GitLab 19.5에서 도입되었습니다.
  • flowType, status, user 필터의 != 및 not in 연산자가 GitLab 19.5에서 도입되었습니다.
  • model 차원이 GitLab 19.5에서 모델 카탈로그 이름을 표시하도록 변경되었습니다.
Feature flag

이 데이터 소스는 GitLab Duo Agent Platform 플로 분석 엔진에서 데이터를 읽으며, 이 엔진은 dap_impact_v1이라는 기능 플래그로 제어됩니다. 이 플래그는 기본적으로 비활성화되어 있습니다. 관리자가 활성화하기 전까지 쿼리는 오류를 반환합니다.

이 데이터 소스는 프로젝트 또는 그룹 전체에서 실행된 GitLab Duo Agent Platform 플로 (Duo 워크플로라고도 함)에 대한 집계 지표를 제공하며, 플로가 사용한 크레딧 수도 포함합니다.

허용되는 모드#

허용되는 범위#

범위 설명
project 특정 프로젝트의 GitLab Duo Agent Platform 플로를 쿼리합니다.
group 하위 그룹을 포함해 그룹 내 모든 프로젝트의 GitLab Duo Agent Platform 플로를 쿼리합니다.

여러 그룹 또는 프로젝트에 걸쳐 GitLab Duo 워크플로를 집계하려면 in 연산자와 목록을 사용합니다. 자세한 내용은 여러 그룹 및 프로젝트를 참고합니다.

쿼리 필터#

결과를 필터링하려면 query 매개변수에서 다음 필드를 사용합니다.

필드 이름(및 별칭) 연산자
활성 일수 activeDays =, >, <, >=, <=
생성일 created (opened, openedAt, createdAt) =, >, <, >=, <=
플로 유형 flowType =, !=, in, not in
사용한 플로 유형 수 flowTypesUsed =, >, <, >=, <=
상태 status =, !=, in, not in
사용자 user =, !=, in, not in

활성 일수#

설명: 선택한 기간 동안 사용자가 플로를 생성한 고유한 날짜의 수를 기준으로 플로를 필터링합니다. activeDays = 1은 정확히 하루만 활동한 사용자와 일치합니다.

허용되는 값 유형: Number

참고:

  • 이 수는 선택한 전체 기간을 대상으로 사용자별로 계산합니다.
  • 두 개의 범위 연산자를 조합해 구간을 지정할 수 있습니다. 예를 들어 activeDays >= 2 and activeDays <= 5입니다. 단, 같은 필드에서 =를 다른 비교와 함께 쓸 수는 없습니다.

생성일#

설명: 플로가 생성된 날짜를 기준으로 플로를 필터링합니다. 특정 기간을 지정하려면 created 조건을 여러 개 사용합니다.

허용되는 값 유형:

  • AbsoluteDate (YYYY-MM-DD 형식)
  • RelativeDate (<sign><digit><unit> 형식이며, sign은 +, - 또는 생략, digit은 정수, unit은 d(일), w(주), m(월), y(년) 중 하나)

참고:

  • = 연산자의 경우 GLQL은 사용자의 시간대를 기준으로 00:00부터 23:59까지의 시간 범위를 사용합니다.

플로 유형#

설명: 유형을 기준으로 플로를 필터링합니다. 예: software_development 또는 code_review/v1.

허용되는 값 유형:

  • String
  • List (여러 값에는 in 또는 not in 연산자 사용)

사용한 플로 유형 수#

설명: 선택한 기간 동안 사용자가 실행한 고유한 플로 유형의 수를 기준으로 플로를 필터링합니다. flowTypesUsed >= 2는 플로 유형을 두 개 이상 사용한 사용자와 일치합니다.

허용되는 값 유형: Number

참고:

  • 이 수는 선택한 전체 기간을 대상으로 사용자별로 계산합니다.
  • 같은 조합 규칙이 적용됩니다. 구간에는 두 개의 범위 연산자를 사용하며, 같은 필드에서 =를 다른 비교와 함께 쓸 수는 없습니다.

상태#

설명: 수명 주기 상태를 기준으로 플로를 필터링합니다.

허용되는 값 유형:

  • Enum, 값은 created, running, paused, finished, failed, stopped, input_required, plan_approval_required, tool_call_approval_required 중 하나
  • List (여러 값에는 in 또는 not in 연산자 사용)

참고:

  • *_required로 끝나는 세 가지 상태는 사용자를 기다리는 플로이며, paused와는 구분됩니다.
  • 상태는 대소문자를 구분하지 않고 일치시킵니다. completed, aborted 같은 다른 표기는 허용되지 않습니다.

사용자#

설명: 플로를 실행한 사용자를 기준으로 필터링합니다.

허용되는 값 유형:

  • Number (사용자 ID)
  • List (여러 사용자 ID에는 in 또는 not in 연산자 사용)
Note

사용자 이름 필터링 지원은 이슈 599750에서 추적하고 있습니다.

차원#

차원 이름 설명
Created created 날짜별로 그룹화합니다. daily, weekly, monthly 또는 30d처럼 일 수를 지정하는 granularity 매개변수(기본값: monthly)와 선택적 origin을 받습니다. 예: created(weekly) 또는 created(granularity=30d, origin=2026-07-16).
Flow type flowType 플로 유형별로 그룹화합니다.
Group group 그룹별로 그룹화합니다. 최상위 그룹부터 센 depth 매개변수를 1부터 99까지(기본값: 1) 받으므로, group은 최상위 그룹을 반환하고 group(depth=2)는 그 하위 그룹을 반환합니다. 해당 깊이보다 위에 있는 플로, 또는 하위 그룹이 아니라 그 깊이의 프로젝트에 있는 플로(예: depth=2일 때 최상위 그룹 바로 아래의 프로젝트)에는 그룹이 없으며, 그룹이 없는 행이 결과에 둘 이상 포함될 수 있습니다.
Model model 플로가 사용한 모델별로 그룹화합니다(모델 카탈로그 이름을 표시). 카탈로그에 없는 모델은 원래 식별자를 표시합니다. 모델 정보가 기록되지 않은 플로에는 이름이 없습니다. 행은 플로가 보고한 모델 식별자 기준으로 그룹화되므로, 하나의 카탈로그 이름이 둘 이상의 행이나 차트 막대에 나타날 수 있습니다.
Project project 프로젝트별로 그룹화합니다. 프로젝트 범위에 속하지 않는 플로는 프로젝트가 없는 하나의 행으로 묶입니다.
Status status 플로 상태별로 그룹화합니다. 행은 알파벳순이 아니라 수명 주기 순서로 정렬됩니다.
User user 사용자별로 그룹화합니다(아바타, 이름, 사용자 이름 표시).
User tier userTier 사용자가 선택한 전체 기간 동안 실행한 플로 수에 따라 사용자를 그룹화하며, created(weekly) 같은 다른 차원을 함께 선택해도 마찬가지입니다. thresholds 매개변수가 필요하며, 기본값은 없습니다. 이 매개변수는 1 이상의 엄격하게 오름차순인 정수 1개에서 9개로 이루어진 목록입니다. 예를 들어 userTier(thresholds=[4, 25, 100])는 tier_0(플로 4개 미만), tier_1(4개에서 24개), tier_2(25개에서 99개), tier_3(100개 이상)을 반환합니다. 임계값이 하나뿐이면 대괄호 없이 userTier(8)처럼 쓸 수 있습니다.

지표#

지표 이름 설명
Churned users count churnedUsersCount 이전 기간에는 플로를 실행했지만 이번 기간에는 실행하지 않은 고유 사용자 수입니다.
Closed MR count max closedMrCountMax 단일 플로가 생성한 닫힌 머지 리퀘스트의 최대 수입니다.
Closed MR count mean closedMrCountMean 플로당 생성된 닫힌 머지 리퀘스트의 평균 수입니다.
Closed MR count min closedMrCountMin 단일 플로가 생성한 닫힌 머지 리퀘스트의 최소 수입니다.
Closed MR count quantile closedMrCountQuantile 지정한 분위수에서의 플로당 생성된 닫힌 머지 리퀘스트 수입니다. 0.01에서 0.99 사이의 quantile 매개변수(기본값: 0.5)를 받습니다. 예: closedMrCountQuantile(0.95).
Closed MR count sum closedMrCountSum 모든 플로가 생성한 닫힌 머지 리퀘스트의 총수입니다.
Created MR count max createdMrCountMax 단일 플로가 생성한 머지 리퀘스트의 최대 수입니다.
Created MR count mean createdMrCountMean 플로당 생성된 머지 리퀘스트의 평균 수입니다.
Created MR count min createdMrCountMin 단일 플로가 생성한 머지 리퀘스트의 최소 수입니다.
Created MR count quantile createdMrCountQuantile 지정한 분위수에서의 플로당 생성된 머지 리퀘스트 수입니다. 0.01에서 0.99 사이의 quantile 매개변수(기본값: 0.5)를 받습니다. 예: createdMrCountQuantile(0.95).
Created MR count sum createdMrCountSum 모든 플로가 생성한 머지 리퀘스트의 총수입니다.
Credits per merged MR ratio creditsPerMergedMrRatio 플로가 생성하고 나중에 머지된 머지 리퀘스트당 사용된 크레딧입니다. 머지 리퀘스트를 생성하지 않은 플로를 포함해 모든 플로의 크레딧이 계산됩니다.
Credits used max creditsUsedMax 단일 플로가 사용한 최대 크레딧입니다.
Credits used mean creditsUsedMean 플로당 사용된 평균 크레딧입니다.
Credits used min creditsUsedMin 단일 플로가 사용한 최소 크레딧입니다.
Credits used quantile creditsUsedQuantile 지정한 분위수에서의 플로당 사용된 크레딧입니다. 0.01에서 0.99 사이의 quantile 매개변수(기본값: 0.5)를 받습니다. 예: creditsUsedQuantile(0.95).
Credits used sum creditsUsedSum 모든 플로가 사용한 총 크레딧입니다.
Flow types count flowTypesCount 고유한 플로 유형의 수입니다.
Joined users count joinedUsersCount 이번 기간에 플로를 실행했지만 이전 기간에는 실행하지 않은 고유 사용자 수입니다.
Merged MR count max mergedMrCountMax 단일 플로가 생성한 머지된 머지 리퀘스트의 최대 수입니다.
Merged MR count mean mergedMrCountMean 플로당 생성된 머지된 머지 리퀘스트의 평균 수입니다.
Merged MR count min mergedMrCountMin 단일 플로가 생성한 머지된 머지 리퀘스트의 최소 수입니다.
Merged MR count quantile mergedMrCountQuantile 지정한 분위수에서의 플로당 생성된 머지된 머지 리퀘스트 수입니다. 0.01에서 0.99 사이의 quantile 매개변수(기본값: 0.5)를 받습니다. 예: mergedMrCountQuantile(0.95).
Merged MR count sum mergedMrCountSum 모든 플로가 생성한 머지된 머지 리퀘스트의 총수입니다.
Open MR count max openMrCountMax 단일 플로가 생성한 열린 머지 리퀘스트의 최대 수입니다.
Open MR count mean openMrCountMean 플로당 생성된 열린 머지 리퀘스트의 평균 수입니다.
Open MR count min openMrCountMin 단일 플로가 생성한 열린 머지 리퀘스트의 최소 수입니다.
Open MR count quantile openMrCountQuantile 지정한 분위수에서의 플로당 생성된 열린 머지 리퀘스트 수입니다. 0.01에서 0.99 사이의 quantile 매개변수(기본값: 0.5)를 받습니다. 예: openMrCountQuantile(0.95).
Open MR count sum openMrCountSum 모든 플로가 생성한 열린 머지 리퀘스트의 총수입니다.
Previous period users count previousPeriodUsersCount 이전 기간의 고유 사용자 수입니다.
Projects count projectsCount 고유한 프로젝트의 수입니다. 프로젝트 범위에 속하지 않는 플로는 계산되지 않으므로, 해당 플로의 행에는 0이 표시됩니다.
Returning users count returningUsersCount 이전 기간에도 플로를 실행한 고유 사용자 수입니다.
Total count totalCount 플로의 총수이며, 선택적으로 상태로 필터링할 수 있습니다. 하나 이상의 플로 상태(status 필터와 같은 값)를 지정하는 선택적 status 매개변수를 받습니다. 예: totalCount(status="finished") 또는 totalCount(status=["paused", "input_required"]). 매개변수가 없거나 status=[]이면 모든 플로를 계산합니다.
Users count usersCount 고유 사용자 수입니다.
Note

creditsPerMergedMrRatio를 포함한 크레딧 지표를 보려면 그룹 또는 프로젝트에서 Owner 또는 Security Manager 권한이 있거나, read_agent_artifacts 권한이 있는 사용자 지정 역할이 필요합니다. 다른 사용자에게는 이 지표가 비어 있습니다.

참고:

  • returningUsersCount, joinedUsersCount, churnedUsersCount, previousPeriodUsersCount 지표는 각 created 버킷을 직전 버킷과 비교하므로, created 차원도 함께 선택한 경우에만 유효합니다. created 필터만으로는 충분하지 않습니다.
  • mergedMrCount, closedMrCount, openMrCount 지표는 플로가 생성한 머지 리퀘스트 중 이후 머지되었거나, 머지되지 않고 닫혔거나, 아직 열려 있는 것의 수를 계산합니다. 이 지표는 해당 머지 리퀘스트의 현재 상태보다 늦게 반영될 수 있으므로, 최근에 머지된 머지 리퀘스트가 여전히 열린 것으로 계산될 수 있습니다.

정렬 필드#

선택한 차원 또는 지표에 포함된 모든 필드로 정렬할 수 있습니다. 자세한 내용은 analytics 모드 정렬을 참고합니다.

예시#

  • 30일간 플로 유형별 플로:

    ```glql
    title: "Duo workflows by flow type (last 30 days)"
    display: table
    mode: analytics
    query: type = DuoWorkflow and group = "gitlab-org" and created > -30d
    dimensions: flowType as "Flow"
    metrics: totalCount as "Flows", usersCount as "Users", creditsUsedSum as "Credits"
    sort: totalCount desc
    ```
    
  • 월별 크레딧 사용량 추이:

    ```glql
    title: "Monthly Duo workflow credit usage trend"
    display: columnChart
    mode: analytics
    query: type = DuoWorkflow and group = "gitlab-org" and created > -90d
    dimensions: created(monthly) as "Month"
    metrics: creditsUsedSum as "Credits used"
    sort: created asc
    ```
    
  • 채팅 플로를 제외한 월별 크레딧 사용량:

    ```glql
    title: "Monthly Duo workflow credits, excluding chat"
    display: columnChart
    mode: analytics
    query: type = DuoWorkflow and group = "gitlab-org" and created > -90d and flowType not in ("chat", "agentic_chat/v1")
    dimensions: created(monthly) as "Month", flowType as "Flow"
    metrics: creditsUsedSum as "Credits used"
    sort: created asc
    ```
    
  • 30일간 모델별 크레딧:

    ```glql
    title: "Duo workflow credits by model (last 30 days)"
    display: barChart
    mode: analytics
    query: type = DuoWorkflow and group = "gitlab-org" and created > -30d
    dimensions: model as "Model"
    metrics: creditsUsedSum as "Credits used"
    sort: creditsUsedSum desc
    ```
    
  • 30일간 크레딧 상위 사용자:

    ```glql
    title: "Top users by Duo workflow credits (last 30 days)"
    display: table
    mode: analytics
    query: type = DuoWorkflow and group = "gitlab-org" and created > -30d
    dimensions: user as "User"
    metrics: totalCount as "Flows", creditsUsedSum as "Credits", creditsUsedMean as "Avg credits per flow"
    sort: creditsUsedSum desc
    limit: 10
    ```
    
  • 30일간 상태별 플로:

    ```glql
    title: "Duo workflows by status (last 30 days)"
    display: table
    mode: analytics
    query: type = DuoWorkflow and group = "gitlab-org" and created > -30d
    dimensions: status as "Status"
    metrics: totalCount as "Flows", createdMrCountSum as "MRs created", mergedMrCountSum as "MRs merged", openMrCountSum as "MRs open"
    sort: status asc
    ```
    
  • 주별 사용자 유지율:

    ```glql
    title: "Weekly Duo workflow user retention"
    display: table
    mode: analytics
    query: type = DuoWorkflow and group = "gitlab-org" and created > -90d
    dimensions: created(weekly) as "Week"
    metrics: usersCount as "Users", returningUsersCount as "Returning", joinedUsersCount as "Joined", churnedUsersCount as "Churned"
    sort: created desc
    ```
    
  • 30일간 활동 구간 및 플로 유형별 사용자:

    ```glql
    title: "Duo workflow users by activity tier (last 30 days)"
    display: table
    mode: analytics
    query: type = DuoWorkflow and group = "gitlab-org" and created > -30d
    dimensions: userTier(thresholds=[4, 25, 100]) as "Tier", flowType as "Flow"
    metrics: totalCount as "Flows", usersCount as "Users"
    sort: userTier asc
    ```
    
  • 30일간 상태별 플로 수 나란히 비교:

    ```glql
    title: "Duo workflows by outcome (last 30 days)"
    display: table
    mode: analytics
    query: type = DuoWorkflow and group = "gitlab-org" and created > -30d
    metrics: totalCount as "All", totalCount(status="finished") as "Completed", totalCount(status=["paused", "input_required"]) as "Waiting", totalCount(status="failed") as "Failed"
    ```
    
  • 30일간 그룹 비교:

    ```glql
    title: "Duo workflow usage by subgroup (last 30 days)"
    display: table
    mode: analytics
    query: type = DuoWorkflow and group = "gitlab-org" and created > -30d
    dimensions: group(depth=2) as "Group"
    metrics: usersCount as "Users", creditsUsedSum as "Credits"
    sort: usersCount desc
    ```
    
  • 그룹화 없는 전체 사용량:

    ```glql
    title: "Duo workflow usage overview (last 30 days)"
    display: table
    mode: analytics
    query: type = DuoWorkflow and group = "gitlab-org" and created > -30d
    metrics: totalCount as "Flows", usersCount as "Users", projectsCount as "Projects", creditsUsedQuantile(0.5) as "Median credits"
    ```