메트릭 생애주기
다음 가이드라인은 메트릭 생애주기의 각 단계에서 따라야 할 절차를 설명합니다.
새로운 메트릭 추가
메트릭 계측 가이드를 따르세요.
기존 메트릭 변경
경고:
우리는 메트릭의 계산 논리나 중요한 속성을 변경하는 것을 PREVENT하고자 합니다. 이는 GitLab의 다른 버전 간에 동일한 메트릭의 비교를 무효화합니다.
메트릭을 변경하는 경우, 모든 GitLab 인스턴스가 최신 버전에서 실행되고 있는 것은 아니라는 점을 고려해야 합니다. 구버전 인스턴스는 여전히 구버전 메트릭을 보고합니다.
또한, 메트릭의 보고된 숫자는 이전에 보고된 숫자와 비교했을 때 주로 흥미로우므로, 메트릭의 다음 부분 중 하나를 변경해야 하는 경우 새로운 메트릭을 추가해야 합니다. 구 메트릭을 새로운 메트릭과 함께 유지할지 삭제할지 선택할 수 있습니다.
- 계산 논리: 이는 이전 구현보다 다른 값을 생성할 수 있는 모든 변경을 의미합니다.
-
YAML 속성: 다음 속성은 분석이나 계산에 직접 사용됩니다:
key_path
,time_frame
,value_type
,data_source
.
메트릭의 performance_indicator_type
속성을 변경하거나 귀하의 경우가 명시된 규칙에서 예외가 필요하다고 생각되는 경우, Customer Success Ops 팀 (@csops-team
), Analytics Engineers 팀 (@gitlab-data/analytics-engineers
) 및 Product Analysts 팀 (@gitlab-data/product-analysts
)에 알리세요. 이 그룹들을 병합 요청 또는 문제의 댓글에서 @
로 언급하여 통지할 수 있습니다.
계산 또는 분석에 영향을 주지 않고 다른 속성을 변경할 수 있습니다. 메트릭 속성을 업데이트하는 데 도움이 되는 이 비디오 자습서를 참조하세요.
현재 메트릭 사전은 하루에 한 번 자동으로 생성됩니다. 메트릭의 YAML 파일을 변경하면 24시간 이내에 사전에서 변경 사항을 확인할 수 있습니다.
메트릭 제거
-
제거할 메트릭에 대한 이슈를 만듭니다. 이슈는 메트릭을 제거해야 하는 이유를 설명해야 합니다. 이 이슈를 사용하여 제거 프로세스를 문서화할 수 있습니다.
-
메트릭에
[x]mau
종류의performance_indicator_type
이 최소한 하나 있는 경우:
Customer Success Ops 팀 (@csops-team
), Analytics Engineers 팀 (@gitlab-data/analytics-engineers
), Product Analysts 팀 (@gitlab-data/product-analysts
)에 알리세요. 이 그룹들을 이슈 댓글에서@
로 언급하세요. 이러한 메트릭에 대한 예상치 못한 변경은 보고를 중단시킬 수 있습니다. -
메트릭이 제거를 수행하는 팀과 다른 팀에 의해 소유되는 경우:
단계 파일에 따라 소유 팀의 PM과 EM을 태그하세요.
-
-
data_source
에 따라 메트릭 계측 코드를 제거합니다:-
database/system
:
메트릭에instrumentation_class
가 있고 할당된 클래스가 더 이상 다른 메트릭에서 사용되지 않는 경우 클래스를 제거하고 사양을 삭제할 수 있습니다.
메트릭이lib/gitlab/usage_data.rb
또는ee/lib/ee/gitlab/usage_data.rb
내에 계측된 경우 관련 코드와 사양을 제거하세요.
(예시) -
redis_hll/redis/internal_events
:
추적 코드 예:track_internal_event
및 관련 사양을 제거하세요.
-
-
메트릭의 YAML 정의 속성을 업데이트합니다:
-
status:
를removed
로 설정합니다. -
removed_by_url:
를 메트릭을 제거하는 MR의 URL로 설정합니다. -
milestone_removed:
를 메트릭이 제거된 마일스톤 번호로 설정합니다.
-
메트릭의 YAML 정의를 완전히 제거하지 마세요. 일부 셀프 매니지드 인스턴스는 GitLab의 최신 버전으로 즉시 업데이트되지 않을 수 있으며, 따라서 제거된 메트릭을 계속 보고할 수 있습니다. Analytics Instrumentation 팀은 모든 제거된 메트릭의 기록을 요구하여 이를 식별하고 필터링합니다.
그룹 이름 변경
이벤트나 메트릭을 소유하는 그룹의 이름이 변경되면, 해당 그룹에 속한 모든 메트릭 및 이벤트 정의에서 product_group
속성을 업데이트해야 합니다.
product_group_renamer
스크립트는 모든 정의를 업데이트할 수 있으므로 수동으로 할 필요가 없습니다.
예를 들어, 그룹 5-min-app이 2-min-app으로 이름이 변경된 경우 관련 파일을 다음과 같이 업데이트할 수 있습니다:
$ scripts/internal_events/product_group_renamer.rb 5-min-app 2-min-app
'5-min-app'을(를) 3개의 파일에서 '2-min-app'으로 업데이트했습니다.
업데이트된 파일:
config/metrics/schema/product_groups.json
config/metrics/counts_28d/20210216184517_p_ci_templates_5_min_production_app_monthly.yml
config/metrics/counts_7d/20210216184515_p_ci_templates_5_min_production_app_weekly.yml
스크립트를 실행한 후, 수정된 모든 파일을 Git에 커밋하고 병합 요청을 생성해야 합니다.
그룹이 여러 개의 그룹으로 나누어진 경우, product_group
을 수동으로 업데이트해야 합니다.