내부 분석 검토 지침
이 페이지에는 Analytics Instrumentation 검토를 위한 입문 자료가 포함되어 있습니다. 보다 일반적인 코드 검토에 대한 권고사항 및 모범 사례는 코드 검토 가이드를 참조하십시오.
검토 프로세스
우리는 병합 요청(MR)이 내부 분석 코드에 영향을 미치거나 사용할 때 Analytics Instrumentation 검토를 수행하도록 제안합니다. 이는 다음과 같은 내용을 포함하지만 이에 국한되지는 않습니다:
- 메트릭, 예를 들어:
-
config/metrics
의 파일. -
ee/config/metrics
의 파일. -
schema.json
.
-
- 내부 이벤트, 예를 들어
config/events
의 파일. - Analytics Instrumentation 도구, 예를 들어
내부 이벤트 CLI
.
대부분의 경우, Analytics Instrumentation 검토는 자동으로 추가되지만, 자동화가 관련 변경을 놓친 경우 수동으로 요청할 수도 있습니다.
역할 및 프로세스
병합 요청 작성자는 다음을 수행해야 합니다.
- Analytics Instrumentation 검토가 필요한지 결정합니다. 변경 사항이 Analytics Instrumentation 도메인과 관련이 없는 경우 Analytics Instrumentation 검토를 건너뛸 수 있으며 레이블을 제거할 수 있습니다.
- 만약 Analytics Instrumentation 검토가 필요하고 자동으로 할당되지 않았다면
~analytics instrumentation
및~analytics instrumentation::review pending
레이블을 추가합니다. - 이벤트에 대한 변경이 MR의 일부인 경우:
- 해당 이벤트가 로컬로 작동하는지 사용 가능한 테스트 도구 중 하나를 사용하여 확인합니다.
- 메트릭에 대한 변경이 MR의 일부인 경우:
- 새로운 메트릭이 Service Ping 페이로드에서 사용 가능하고 데이터를 보고하는지 확인하기 위해 다음을 실행합니다:
require_relative 'spec/support/helpers/service_ping_helpers.rb'; ServicePingHelpers.get_current_usage_metric_value(key_path)
를 실행하여key_path
를 새로운 메트릭의key_path
로 대체합니다.
- 새로운 메트릭이 Service Ping 페이로드에서 사용 가능하고 데이터를 보고하는지 확인하기 위해 다음을 실행합니다:
- 리뷰어 룰렛을 사용하여 작성자가 아닌 Analytics Instrumentation 리뷰어를 지정합니다.
- 적절한 경우 다른 검토를 지정합니다.
-
~analytics instrumentation
검토에는 관리자 검토가 필요하지 않습니다.
Analytics Instrumentation 리뷰어는 다음을 수행해야 합니다.
- 병합 요청에 대한 초기 검토를 수행하고 작성자에게 개선 사항을 제안합니다.
- 사용되지 않은 폐기된 분석 메소드가 없는지 확인합니다.
- 리뷰 중인 변경 사항이 이벤트에 대한 것인 경우:
- 발생하는 이벤트에 대응하는 정의 파일이 있는지 확인합니다.
- 이벤트 정의 파일이 올바른지 확인합니다.
- 리뷰 중인 변경 사항이 메트릭에 대한 것인 경우:
- Database를 기반으로 하는 메트릭에 대해 데이터베이스 검토를 요청하기 위해
~database
레이블을 추가합니다. - 메트릭의 YAML 정의에 대해:
- 메트릭의
description
를 확인합니다. - 메트릭의
key_path
를 확인합니다. -
product_group
필드를 확인합니다. 이것들은 단계 파일에 해당해야 합니다. - 파일 위치를 확인합니다. 시간 프레임을 고려하고 파일이
ee
아래에 있어야 할 경우 확인합니다. - 티어를 확인합니다.
- 메트릭의
- 메트릭이 변경되거나 제거된 경우: MR 작성자가 관련 그룹에 대한 의견에
@
를 사용하여 MR의 이슈에 댓글으로 Customer Success Ops 팀 (@csops-team
), Analytics Engineers (@gitlab-data/analytics-engineers
), 및 Product Analysts (@gitlab-data/product-analysts
)에게 알린 것을 확인합니다.
- Database를 기반으로 하는 메트릭에 대해 데이터베이스 검토를 요청하기 위해
- 내부 이벤트 CLI에 대한 변경 사항이 리뷰의 일부인 경우:
- 변경 사항이 CLI 스타일 가이드를 따르는지 확인합니다.
- CLI를 실행하고 변경 사항의 UX를 확인합니다:
- 콘텐츠가 쉽게 스캔할 수 있는가?
- 팀 외부 사람들에게 이 콘텐츠가 의미가 있는가?
- 이 정보는 필요합니까? 도움이 됩니까?
- 이 흐름을 처음 경험하는 사용자라면 어떤 걸 염두해야 할까요?
- 각 입력의 의미나 효과가 명확한가요?
- 특이 케이스나 주의 사항을 설명하는 경우, 사용자가 그것에 대해 걱정해야 하는지를 검증할 수 있는 지침이 있습니까?
- 병합 요청을 승인하고 MR에
~"analytics instrumentation::approved"
레이블을 다시 지정합니다.