내부 분석 검토 지침

이 페이지에는 Analytics Instrumentation 검토에 대한 입문 자료가 포함되어 있습니다. 보다 포괄적인 코드 검토에 대한 일반적인 모범 사례 및 조언은 코드 검토 가이드를 참조하세요.

검토 프로세스

우리는 병합 요청(MR)이 내부 분석 코드에 영향을 주거나 사용할 때 Analytics Instrumentation 검토를 의무화합니다. 이에는 다음이 포함됩니다.

대부분의 경우, Analytics Instrumentation 검토는 자동으로 추가되지만 관련 변경 사항이 누락된 경우 수동으로 요청할 수도 있습니다.

역할 및 프로세스

병합 요청 작성자는 다음을 수행해야 합니다.

  • Analytics Instrumentation 검토가 필요한지 결정합니다. 변경 사항이 Analytics Instrumentation 도메인과 관련이 없는 경우 Analytics Instrumentation 검토를 건너뛸 수 있으며 레이블을 제거할 수 있습니다.
  • Analytics Instrumentation 검토가 필요하고 자동으로 할당되지 않은 경우 ~analytics instrumentation~analytics instrumentation::review pending 레이블을 추가합니다.
  • 이벤트에 대한 변경사항이 MR의 일부인 경우:
    • 사용 가능한 테스트 도구를 사용하여 로컬로 이벤트가 발생하는지 확인합니다.
  • 메트릭에 대한 변경사항이 MR의 일부인 경우:
    • 새로운 메트릭이 서비스 핑 페이로드에서 사용 가능한지 확인하려면 다음을 실행합니다: Gitlab::Usage::ServicePingReport.for(output: :all_metrics_values).dig(*'key_path'.split('.'))를 새 메트릭의 key_path로 대체하여 실행합니다.
  • 리뷰어 룰렛을 사용하여 작성자가 아닌 Analytics Instrumentation 리뷰어를 할당합니다.
  • 해당하는 경우 다른 리뷰를 할당합니다.
  • ~analytics instrumentation 검토에는 유지자 검토가 필요하지 않습니다.

Analytics Instrumentation 리뷰어는 다음을 수행해야 합니다.

  • 병합 요청에 대한 초안 리뷰를 수행하고 작성자에게 향상된 점을 제안합니다.
  • 폐기된 분석 방법을 사용하지 않았는지 확인합니다.
  • 변경사항이 검토의 일부인 경우:
    • 발생하는 이벤트에 대응하는 정의 파일이 있는지 확인합니다.
    • 이벤트 정의 파일이 올바른지 확인합니다.
  • 메트릭에 대한 변경사항이 검토의 일부인 경우:
    • 기반 데이터베이스인 메트릭에 대해 데이터베이스 검토를 요청하고 ~database 레이블을 추가합니다.
    • 메트릭의 YAML 정의에 대해:
      • 메트릭의 description을 확인합니다.
      • 메트릭의 key_path를 확인합니다.
      • product_section, product_stage, 및 product_group 필드를 확인합니다. 이는 단계 파일에 해당해야 합니다.
      • 파일 위치를 확인합니다. 시간프레임을 고려하고 파일이 ee에 있어야 하는지 확인합니다.
      • 티어를 확인합니다.
    • 메트릭이 변경되거나 제거된 경우: MR 작성자가 해당 메트릭을 제거한 것을 이슈에 대한 댓글에 @csops-team, @gitlab-data/analytics-engineers, @gitlab-data/product-analysts 그룹을 언급하여 이 그룹들이 모두 제거를 인지했는지 확인합니다.
  • MR을 승인하고 ~"analytics instrumentation::approved"로 다시 레이블을 지정합니다.