Code suggestions
GitLab v19.4Offering: GitLab.com, GitLab Self-Managed, GitLab Dedicated
요약
코드 제안은 프로젝트 또는 그룹 전반의 GitLab Duo Code Suggestions 사용량에 대한 집계 지표를 제공하는 데이터 소스입니다. query 파라미터에 다음 필드를 사용하여 결과를 필터링합니다. 설명: 제안을 생성한 IDE로 필터링합니다.
히스토리
- GitLab 19.1에서 도입됨.
코드 제안은 프로젝트 또는 그룹 전반의 GitLab Duo Code Suggestions 사용량에 대한 집계 지표를 제공하는 데이터 소스입니다.
허용 모드#
허용 범위#
| 범위 | 설명 |
|---|---|
project |
특정 프로젝트의 코드 제안을 조회합니다. |
group |
하위 그룹을 포함하여 그룹 내 모든 프로젝트의 코드 제안을 조회합니다. |
쿼리 필드#
query 파라미터에 다음 필드를 사용하여 결과를 필터링합니다.
| 필드 | 이름(및 별칭) | 연산자 |
|---|---|---|
| IDE 이름 | ideName |
=, in |
| 언어 | language |
=, in |
| 타임스탬프 | timestamp |
=, >, <, >=, <= |
| 사용자 | user |
=, in |
IDE 이름 {#cs-ide-name}#
설명: 제안을 생성한 IDE로 필터링합니다.
허용되는 값 유형:
StringList(여러 값을 지정할 때는in연산자 사용)
언어 {#cs-language}#
설명: 제안의 프로그래밍 언어로 필터링합니다.
허용되는 값 유형:
StringList(여러 값을 지정할 때는in연산자 사용)
타임스탬프 {#cs-timestamp}#
설명: 제안이 생성된 시점으로 필터링합니다. 범위 연산자를 사용하여 기간을 지정합니다.
허용되는 값 유형:
AbsoluteDate(YYYY-MM-DD형식)RelativeDate(<sign><digit><unit>형식이며, sign은+,-또는 생략이고, digit은 정수,unit은d(일),w(주),m(월),y(년) 중 하나)
사용자 {#cs-user}#
설명: 제안을 받은 사용자로 필터링합니다.
허용되는 값 유형:
Number(사용자 ID)List(여러 사용자 ID를 지정할 때는in연산자 사용)
사용자 이름 기반 필터링 지원은 이슈 599750에서 추적하고 있습니다.
차원#
지원되는 차원은 다음과 같습니다.
| 차원 | 이름(및 별칭) | 설명 |
|---|---|---|
| IDE 이름 | ideName |
사용된 IDE 별로 그룹화합니다(예: VSCode, JetBrains). |
| 언어 | language |
프로그래밍 언어별로 그룹화합니다. |
| 타임스탬프 | timestamp |
날짜별로 그룹화합니다. monthly granularity 파라미터만 허용합니다(기본값: monthly). |
| 사용자 | user |
사용자별로 그룹화합니다(아바타, 이름, 사용자 이름 표시). |
지표#
지원되는 지표는 다음과 같습니다.
| 지표 | 이름(및 별칭) | 설명 |
|---|---|---|
| 수락률 | acceptanceRate |
표시된 제안 대비 수락된 제안의 비율입니다. |
| 수락 수 | acceptedCount |
수락된 제안 수입니다. |
| 거부 수 | rejectedCount |
거부된 제안 수입니다. |
| 표시 수 | shownCount |
사용자에게 표시된 제안 수입니다. |
| 제안 크기 합계 | suggestionSizeSum |
제안의 총량입니다. |
| 전체 수 | totalCount |
제안의 총 개수입니다. |
| 사용자 수 | usersCount |
고유 사용자 수입니다. |
정렬 필드#
선택한 차원이나 지표에 포함된 필드로 정렬할 수 있습니다. 자세한 내용은 분석 모드 정렬을 참고합니다.
예시#
-
최근 30일간 언어별 수락률:
```glql display: table mode: analytics query: type = CodeSuggestion and timestamp >= -30d dimensions: language as "Language" metrics: totalCount as "Total", acceptanceRate as "Acceptance Rate" sort: acceptanceRate desc ``` -
IDE 별 사용량:
```glql display: table mode: analytics query: type = CodeSuggestion and timestamp >= -30d dimensions: ideName as "IDE" metrics: totalCount as "Total Suggestions", usersCount as "Active Users" sort: totalCount desc ``` -
그룹화 없는 전체 지표:
```glql display: table mode: analytics query: type = CodeSuggestion and timestamp >= -30d metrics: totalCount as "Total", acceptedCount as "Accepted", rejectedCount as "Rejected", shownCount as "Shown", acceptanceRate as "Acceptance Rate" ``` -
특정 프로젝트에서 Ruby로 필터링한 사용자별 제안:
```glql display: table mode: analytics query: type = CodeSuggestion and timestamp >= -30d and language = "ruby" dimensions: user as "User" metrics: totalCount as "Total", acceptanceRate as "Acceptance Rate" sort: totalCount desc limit: 10 ``` -
지정한 기간의 언어별 제안 추이:
```glql display: table mode: analytics query: type = CodeSuggestion and timestamp >= "2026-01-01" and timestamp <= "2026-03-31" dimensions: timestamp as "Date", language as "Language" metrics: totalCount as "Total", acceptanceRate as "Acceptance Rate" sort: timestamp desc ``` -
특정 IDE와 언어로 필터링:
```glql display: table mode: analytics query: type = CodeSuggestion and timestamp >= -7d and ideName in ("Visual Studio Code", "RubyMine") and language in ("ruby", "python") dimensions: ideName as "IDE", language as "Language" metrics: totalCount as "Total", acceptanceRate as "Rate" sort: totalCount desc ```