InfoGrab DocsInfoGrab Docs

메트릭 정의 가이드

요약

메트릭은 config/metrics 및 ee/config/metrics의 하위 폴더에 위치한 YAML 파일로 정의됩니다. 이 페이지에서는 data_source: internal_events를 사용하는 메트릭 정의의 하위 섹션을 설명합니다.

메트릭은 config/metricsee/config/metrics의 하위 폴더에 위치한 YAML 파일로 정의됩니다. 이 YAML 파일들을 메트릭 정의라고 합니다.

이 페이지에서는 data_source: internal_events를 사용하는 메트릭 정의의 하위 섹션을 설명합니다. 메트릭 정의 파일에 대한 일반적인 개요는 메트릭 딕셔너리 가이드에서 확인할 수 있습니다.

지원되는 메트릭 유형#

내부 이벤트는 다음과 같이 그룹화된 세 가지 메트릭 유형을 지원합니다:

  • 전체 기간 합계 카운터

  • 시간 범위 합계 카운터

  • 시간 범위 고유 카운터

카운트 유형 / 시간 범위 7d / 28d all
합계 카운트 시간 범위 합계 카운터 전체 기간 합계 카운터
고유 카운트 시간 범위 고유 카운터

메트릭이 고유 값을 카운트하는지 또는 합계 값을 카운트하는지는 이벤트 선택 규칙을 통해 확인할 수 있습니다.

고유 메트릭의 스니펫 예시는 다음과 같습니다. create_merge_request 이벤트의 고유 값 카운트에 사용되는 식별자를 정의하는 unique 속성에 주목하세요.

events:
  - name: create_merge_request
    unique: user.id

마찬가지로, 합계 카운트 메트릭의 스니펫은 다음과 같습니다. unique 속성이 없다는 점에 주목하세요.

events:
  - name: create_merge_request

집계 메트릭을 통해 하나의 메트릭 내에서 여러 이벤트를 추적할 수 있습니다.

전체 기간 합계 카운터#

예시: /groups/:group/-/analytics/productivity_analytics에 대한 전체 기간 방문 합계

data_category: optional
key_path: counts.productivity_analytics_views
description: Total visits to /groups/:group/-/analytics/productivity_analytics all time
product_group: optimize
value_type: number
status: active
time_frame: all
data_source: internal_events
events:
- name: view_productivity_analytics
tiers:
- premium
- ultimate
performance_indicator_type: []
milestone: "<13.9"

time_frame: allview_productivity_analytics 이벤트를 참조하는 events 하위의 이벤트 선택 규칙의 조합은 이것이 "전체 기간 합계 카운트" 메트릭임을 의미합니다.

시간 범위 합계 카운터#

예시: Runner 사용량 CSV 보고서 내보내기의 주간 카운트

key_path: counts.count_total_export_runner_usage_by_project_as_csv_weekly
description: Weekly count of Runner usage CSV report exports
product_group: runner_core
performance_indicator_type: []
value_type: number
status: active
milestone: '16.9'
introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/142328
data_source: internal_events
data_category: optional
tiers:
  - ultimate
time_frame: 7d
events:
  - name: export_runner_usage_by_project_as_csv

time_frame: 7dexport_runner_usage_by_project_as_csv 이벤트를 참조하는 events 하위의 이벤트 선택 규칙의 조합은 이것이 "시간 범위 합계 카운트" 메트릭임을 의미합니다.

시간 범위 고유 카운터#

예시: 최근 28일 동안 분석 대시보드 뷰에서 익명 사용자를 필터링하도록 선택한 고유 사용자 수

key_path: count_distinct_user_id_from_exclude_anonymised_users_28d
description: Count of distinct users who opted to filter out anonymous users on the analytics dashboard view in the last 28 days.
product_group: platform_insights
performance_indicator_type: []
value_type: number
status: active
milestone: '16.7'
introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/138150
time_frame: 28d
data_source: internal_events
data_category: optional
tiers:
- ultimate
events:
- name: exclude_anonymised_users
  unique: user.id

time_frame: 28d, exclude_anonymised_users 이벤트를 참조하는 events 하위의 이벤트 선택 규칙, 그리고 고유 값(unique: user.id)의 조합은 이것이 "시간 범위 고유 카운트" 메트릭임을 의미합니다.

이벤트 선택 규칙#

이벤트 선택 규칙은 메트릭 정의와 이벤트 정의를 연결하는 부분입니다. 이벤트가 트리거될 때 어떤 메트릭이 업데이트되어야 하는지를 알기 위해 필요합니다.

내부 이벤트 기반 메트릭은 각각 다음 속성을 가진 이벤트 선택 규칙을 하나 이상 포함해야 합니다.

속성 필수 여부 추가 정보
name 이벤트 이름
unique 아니오 메트릭이 고유한 사용자, 프로젝트, 네임스페이스의 수를 카운트하거나 이벤트에 포함된 추가 속성의 고유 값을 카운트해야 할 때 사용합니다. 유효한 값은 user.id, project.id, namespace.id입니다. 또한 이벤트에 포함된 추가 속성을 참조하기 위해 label, property, value 및 사용자 정의 추가 속성도 사용할 수 있습니다.
filter 아니오 이벤트의 일부만 메트릭에 포함해야 할 때 사용합니다. 필터링에는 추가 속성만 사용할 수 있습니다.

추가 속성 label의 값이 rubygemspull_package 이벤트 발생 시 고유 카운트 메트릭을 업데이트하는 단일 이벤트 선택 규칙의 예시:

- name: pull_package
  unique: user.id
  filter:
    label: rubygems

필터#

필터는 메트릭을 증가시키는 이벤트를 제한하는 데 사용됩니다.

이 필터는 label: rubygemspull_package 이벤트만 포함합니다:

- name: pull_package
  filter:
    label: rubygems

반면, 이 필터는 더욱 제한적이며 label: rubygems이고 property: deploy_tokenpull_package 이벤트만 포함합니다:

- name: pull_package
  filter:
    label: rubygems
    property: deploy_token

필터는 사용자 정의 추가 속성도 지원합니다:

- name: pull_package
  filter:
    custom_key: custom_value

필터는 정확한 값 일치만 지원하며, 와일드카드나 정규 표현식은 지원하지 않습니다.

고유 식별자로서의 사용자 정의 추가 속성#

사용자 정의 추가 속성을 고유 식별자로 사용하여 고유 값을 카운트할 수 있습니다. 이는 user.id, project.id, namespace.id와 같은 표준 식별자가 아닌 고유 값을 카운트해야 할 때 유용합니다.

예를 들어, merge_request_iid라는 사용자 정의 속성의 고유 값을 카운트하려면 다음과 같이 합니다:

- name: merge_request_action
  unique: merge_request_iid

사용자 정의 속성의 값은 Redis HyperLogLog에 저장되기 전에 해시 처리되므로, 문자열 또는 숫자 값을 모두 사용할 수 있습니다.

집계 메트릭#

여러 이벤트 선택 규칙이 있는 메트릭 정의는 집계 메트릭으로 볼 수 있습니다.

pull_packagepush_package 이벤트의 총 수를 구하려면 두 개의 이벤트 선택 규칙을 추가해야 합니다:

events:
- name: pull_package
- name: push_package

패키지를 한 번 이상 푸시하거나 풀한 고유 사용자 수를 구하려면 다음과 같이 합니다:

events:
- name: pull_package
  unique: user.id
- name: push_package
  unique: user.id

고유 메트릭과 합계 카운트 메트릭은 단일 메트릭 내에서 혼용할 수 없다는 점에 유의하세요.

메트릭 정의 가이드

GitLab v19.1
원문 보기
요약

메트릭은 config/metrics 및 ee/config/metrics의 하위 폴더에 위치한 YAML 파일로 정의됩니다. 이 페이지에서는 data_source: internal_events를 사용하는 메트릭 정의의 하위 섹션을 설명합니다.

메트릭은 config/metricsee/config/metrics의 하위 폴더에 위치한 YAML 파일로 정의됩니다. 이 YAML 파일들을 메트릭 정의라고 합니다.

이 페이지에서는 data_source: internal_events를 사용하는 메트릭 정의의 하위 섹션을 설명합니다. 메트릭 정의 파일에 대한 일반적인 개요는 메트릭 딕셔너리 가이드에서 확인할 수 있습니다.

지원되는 메트릭 유형#

내부 이벤트는 다음과 같이 그룹화된 세 가지 메트릭 유형을 지원합니다:

  • 전체 기간 합계 카운터

  • 시간 범위 합계 카운터

  • 시간 범위 고유 카운터

카운트 유형 / 시간 범위 7d / 28d all
합계 카운트 시간 범위 합계 카운터 전체 기간 합계 카운터
고유 카운트 시간 범위 고유 카운터

메트릭이 고유 값을 카운트하는지 또는 합계 값을 카운트하는지는 이벤트 선택 규칙을 통해 확인할 수 있습니다.

고유 메트릭의 스니펫 예시는 다음과 같습니다. create_merge_request 이벤트의 고유 값 카운트에 사용되는 식별자를 정의하는 unique 속성에 주목하세요.

events:
  - name: create_merge_request
    unique: user.id

마찬가지로, 합계 카운트 메트릭의 스니펫은 다음과 같습니다. unique 속성이 없다는 점에 주목하세요.

events:
  - name: create_merge_request

집계 메트릭을 통해 하나의 메트릭 내에서 여러 이벤트를 추적할 수 있습니다.

전체 기간 합계 카운터#

예시: /groups/:group/-/analytics/productivity_analytics에 대한 전체 기간 방문 합계

data_category: optional
key_path: counts.productivity_analytics_views
description: Total visits to /groups/:group/-/analytics/productivity_analytics all time
product_group: optimize
value_type: number
status: active
time_frame: all
data_source: internal_events
events:
- name: view_productivity_analytics
tiers:
- premium
- ultimate
performance_indicator_type: []
milestone: "<13.9"

time_frame: allview_productivity_analytics 이벤트를 참조하는 events 하위의 이벤트 선택 규칙의 조합은 이것이 "전체 기간 합계 카운트" 메트릭임을 의미합니다.

시간 범위 합계 카운터#

예시: Runner 사용량 CSV 보고서 내보내기의 주간 카운트

key_path: counts.count_total_export_runner_usage_by_project_as_csv_weekly
description: Weekly count of Runner usage CSV report exports
product_group: runner_core
performance_indicator_type: []
value_type: number
status: active
milestone: '16.9'
introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/142328
data_source: internal_events
data_category: optional
tiers:
  - ultimate
time_frame: 7d
events:
  - name: export_runner_usage_by_project_as_csv

time_frame: 7dexport_runner_usage_by_project_as_csv 이벤트를 참조하는 events 하위의 이벤트 선택 규칙의 조합은 이것이 "시간 범위 합계 카운트" 메트릭임을 의미합니다.

시간 범위 고유 카운터#

예시: 최근 28일 동안 분석 대시보드 뷰에서 익명 사용자를 필터링하도록 선택한 고유 사용자 수

key_path: count_distinct_user_id_from_exclude_anonymised_users_28d
description: Count of distinct users who opted to filter out anonymous users on the analytics dashboard view in the last 28 days.
product_group: platform_insights
performance_indicator_type: []
value_type: number
status: active
milestone: '16.7'
introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/138150
time_frame: 28d
data_source: internal_events
data_category: optional
tiers:
- ultimate
events:
- name: exclude_anonymised_users
  unique: user.id

time_frame: 28d, exclude_anonymised_users 이벤트를 참조하는 events 하위의 이벤트 선택 규칙, 그리고 고유 값(unique: user.id)의 조합은 이것이 "시간 범위 고유 카운트" 메트릭임을 의미합니다.

이벤트 선택 규칙#

이벤트 선택 규칙은 메트릭 정의와 이벤트 정의를 연결하는 부분입니다. 이벤트가 트리거될 때 어떤 메트릭이 업데이트되어야 하는지를 알기 위해 필요합니다.

내부 이벤트 기반 메트릭은 각각 다음 속성을 가진 이벤트 선택 규칙을 하나 이상 포함해야 합니다.

속성 필수 여부 추가 정보
name 이벤트 이름
unique 아니오 메트릭이 고유한 사용자, 프로젝트, 네임스페이스의 수를 카운트하거나 이벤트에 포함된 추가 속성의 고유 값을 카운트해야 할 때 사용합니다. 유효한 값은 user.id, project.id, namespace.id입니다. 또한 이벤트에 포함된 추가 속성을 참조하기 위해 label, property, value 및 사용자 정의 추가 속성도 사용할 수 있습니다.
filter 아니오 이벤트의 일부만 메트릭에 포함해야 할 때 사용합니다. 필터링에는 추가 속성만 사용할 수 있습니다.

추가 속성 label의 값이 rubygemspull_package 이벤트 발생 시 고유 카운트 메트릭을 업데이트하는 단일 이벤트 선택 규칙의 예시:

- name: pull_package
  unique: user.id
  filter:
    label: rubygems

필터#

필터는 메트릭을 증가시키는 이벤트를 제한하는 데 사용됩니다.

이 필터는 label: rubygemspull_package 이벤트만 포함합니다:

- name: pull_package
  filter:
    label: rubygems

반면, 이 필터는 더욱 제한적이며 label: rubygems이고 property: deploy_tokenpull_package 이벤트만 포함합니다:

- name: pull_package
  filter:
    label: rubygems
    property: deploy_token

필터는 사용자 정의 추가 속성도 지원합니다:

- name: pull_package
  filter:
    custom_key: custom_value

필터는 정확한 값 일치만 지원하며, 와일드카드나 정규 표현식은 지원하지 않습니다.

고유 식별자로서의 사용자 정의 추가 속성#

사용자 정의 추가 속성을 고유 식별자로 사용하여 고유 값을 카운트할 수 있습니다. 이는 user.id, project.id, namespace.id와 같은 표준 식별자가 아닌 고유 값을 카운트해야 할 때 유용합니다.

예를 들어, merge_request_iid라는 사용자 정의 속성의 고유 값을 카운트하려면 다음과 같이 합니다:

- name: merge_request_action
  unique: merge_request_iid

사용자 정의 속성의 값은 Redis HyperLogLog에 저장되기 전에 해시 처리되므로, 문자열 또는 숫자 값을 모두 사용할 수 있습니다.

집계 메트릭#

여러 이벤트 선택 규칙이 있는 메트릭 정의는 집계 메트릭으로 볼 수 있습니다.

pull_packagepush_package 이벤트의 총 수를 구하려면 두 개의 이벤트 선택 규칙을 추가해야 합니다:

events:
- name: pull_package
- name: push_package

패키지를 한 번 이상 푸시하거나 풀한 고유 사용자 수를 구하려면 다음과 같이 합니다:

events:
- name: pull_package
  unique: user.id
- name: push_package
  unique: user.id

고유 메트릭과 합계 카운트 메트릭은 단일 메트릭 내에서 혼용할 수 없다는 점에 유의하세요.