메트릭 정의
메트릭은 config/metrics
및 ee/config/metrics
하위 폴더에 있는 YAML 파일에서 정의됩니다.
YAML 파일은 메트릭 정의라고 불립니다.
이 페이지에서는 data_source: internal_events
와 관련된 메트릭 정의의 하위 섹션을 설명합니다.
메트릭 정의 파일의 일반적인 개요는 Metric Dictionary Guide에서 찾을 수 있습니다.
지원되는 메트릭 유형
내부 이벤트는 다음과 같이 그룹화된 세 가지 다른 메트릭 유형을 지원합니다.
- 전체 시간 총 카운터
- 시간대별 총 카운터
- 시간대별 고유 카운터
카운트 유형 / 시간대 |
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.id 및 namespace.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: rubygems
및 property: 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
고유 메트릭과 총 카운트 메트릭은 하나의 메트릭에서 섞일 수 없음에 주목하세요.