메트릭 정의

메트릭은 config/metricsee/config/metrics 하위 폴더에 있는 YAML 파일에서 정의됩니다. YAML 파일은 메트릭 정의라고 불립니다.

이 페이지에서는 data_source: internal_events와 관련된 메트릭 정의의 하위 섹션을 설명합니다. 메트릭 정의 파일의 일반적인 개요는 Metric Dictionary Guide에서 찾을 수 있습니다.

지원되는 메트릭 유형

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

  1. 전체 시간 총 카운터
  2. 시간대별 총 카운터
  3. 시간대별 고유 카운터
카운트 유형 / 시간대 7일 / 28일 모두
총 카운트 시간대별 총 카운터 전체 시간 총 카운터
고유 카운트 시간대별 고유 카운터  

이벤트 선택 규칙을 확인하여 메트릭이 고유한 값 또는 총 값들을 세는지 확인할 수 있습니다.

고유 메트릭의 일부는 아래와 같이 표시될 수 있습니다. unique 속성에 유의하십시오. 이 속성은 create_merge_request 이벤트의 식별자 중 하나를 사용하여 고유 값을 세는 방법을 정의합니다.

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: /groups/:group/-/analytics/productivity_analytics를 방문한 총 횟수
product_group: 최적화
value_type: 수치
status: 활성화
time_frame: 전체
data_source: internal_events
events:
- name: view_productivity_analytics
distribution:
- ee
tier:
- 프리미엄
- 얼티메이트
performance_indicator_type: []
milestone: "<13.9"

time_frame: 전체events 하위의 이벤트 선택 규칙으로 인해 이것이 “전체 시간 총 카운트” 메트릭임을 알 수 있습니다.

시간대별 총 카운터

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

key_path: counts.count_total_export_runner_usage_by_project_as_csv_weekly
description: Runner 사용량 CSV 보고서 내보내기의 주간 카운트
product_group: runner
performance_indicator_type: []
value_type: 수치
status: 활성화
milestone: '16.9'
introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/142328
data_source: internal_events
data_category: optional
distribution:
  - ee
tier:
  - 얼티메이트
time_frame: 7일
events:
  - name: export_runner_usage_by_project_as_csv

time_frame: 7일events 하위의 이벤트 선택 규칙으로 인해 이것이 “시간대별 총 카운트” 메트릭임을 알 수 있습니다.

시간대별 고유 카운터

예: 지난 28일 동안 분석 대시보드에서 익명 사용자를 필터링하는 데 사용한 고유 사용자 수

key_path: count_distinct_user_id_from_exclude_anonymised_users_28d
description: 지난 28일 동안 분석 대시보드에서 익명 사용자를 필터링하는 데 사용한 고유 사용자 수
product_group: platform_insights
performance_indicator_type: []
value_type: 수치
status: 활성화
milestone: '16.7'
introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/138150
time_frame: 28일
data_source: internal_events
data_category: optional
distribution:
- ee
tier:
- 얼티메이트
events:
- name: exclude_anonymised_users
  unique: user.id

time_frame: 28일, events 하위의 이벤트 선택 규칙의 exclude_anonymised_users 이벤트 및 고유 값 (unique: user.id)으로 인해 이것이 “시간대별 고유 카운트” 메트릭임을 알 수 있습니다.

이벤트 선택 규칙

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

각 내부 이벤트 기반 메트릭은 다음과 같은 속성을 가진 적어도 하나의 이벤트 선택 규칙이 있어야 합니다.

속성 필요 여부 추가 정보
name 이벤트의 이름
unique 아니요 메트릭이 이벤트에 대해 고유한 사용자, 프로젝트, 네임스페이스의 또는 이벤트와 관련된 추가 속성의 고유 값을 계산해야 한다면 사용됩니다. user.id, project.idnamespace.id이 유효한 값입니다. 또한 label, property, value는 이벤트와 함께 포함된 추가 속성을 기준으로 참조하는 데 사용될 수 있습니다.
filter 아니요 메트릭에 포함되어야 하는 일부 이벤트를 지정할 때 사용됩니다. 필터링에는 추가 속성만 사용할 수 있습니다.

pull_package 이벤트가 발생할 때 label 속성 값이 rubygems인 경우에 고유 카운트 메트릭을 업데이트하는 단일 이벤트 선택 규칙의 예는 다음과 같습니다.

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

필터

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

이 필터는 label: rubygems를 포함하는 pull_package 이벤트만을 포함합니다.

- name: pull_package
  filter:
    label: rubygems

반면, 이 필터는 label: rubygemsproperty: deploy_token을 포함하는 pull_package 이벤트만을 포함합니다.

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

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

집계된 메트릭

여러 이벤트 선택 규칙을 가진 메트릭 정의는 집계된 메트릭으로 간주될 수 있습니다.

한 번 이상 패키지를 추출하거나 보낸 사용자의 총 수를 얻으려면 두 개의 이벤트 선택 규칙을 추가해야 합니다.

events:
- name: pull_package
- name: push_package

최소한 한 번은 패키지를 추출하거나 보낸 사용자의 고유 수를 얻으려면 다음을 사용해야 합니다.

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

고유 메트릭과 총 카운트 메트릭은 하나의 메트릭에서 섞일 수 없음에 주목하세요.