메트릭 라이프사이클

다음 지침은 메트릭 수명주기 각 단계에서 따를 단계를 설명합니다.

새 메트릭 추가

메트릭 계측 가이드를 따르세요.

기존 메트릭 변경

caution
우리는 동일한 메트릭을 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) 팀에게 Merge Request이나 이슈의 댓글에서 해당 그룹들을 @ 언급함으로써 알려주세요.

다른 속성을 변경하더라도 계산이나 분석에는 영향을 미치지 않습니다. 메트릭 속성을 업데이트하는 데 도움이 되는 이 비디오 자습서를 참조하세요.

현재 메트릭 사전은 매일 자동으로 작성됩니다. 메트릭의 YAML 파일을 변경하면 24시간 이내에 사전에 변경 사항이 표시됩니다.

메트릭 제거

  1. 메트릭을 제거하는 이슈가 아직 없다면 해당 이슈를 생성하세요. 이 문제에는 메트릭을 제거해야 하는 이유가 개요되어 있어야 합니다. 메트릭에서 예기치 않은 변경이 있을 경우 이 문제를 사용하여 변경 사항을 문서화할 수 있습니다.

    • 메트릭에 적어도 하나의 [x]mau 유형의 performance_indicator_type가 있는 경우: 해당 이슈에서 그룹들을 @를 사용하여 알림: Customer Success Ops 팀 (@csops-team), Analytics Engineers (@gitlab-data/analytics-engineers), 그리고 Product Analysts (@gitlab-data/product-analysts). 이러한 메트릭에 예상치 못한 변경이 있을 경우 보고가 중단될 수 있습니다.
    • 메트릭이 제거를 수행하는 그룹과 다른 그룹이 소유 중인 경우: 스테이지 파일에 따라 소유하는 그룹의 PM과 EM에게 태그를 달아야 합니다.
  2. 메트릭 계측 코드를 제거하세요. 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 및 연결된 스펙을 제거하세요.
  3. 메트릭의 YAML 정의 속성을 업데이트하세요:

    • status:removed로 설정하세요.
    • removed_by_url:을 메트릭을 제거하는 MR의 URL로 설정하세요.
    • milestone_removed:를 메트릭이 제거된 마일스톤 번호로 설정하세요.

모든 메트릭의 YAML 정의를 완전히 삭제하지 마십시오. 일부 Self-Managed형 인스턴스는 즉시 최신 버전의 GitLab으로 업데이트하지 않을 수 있으므로, 제거된 메트릭을 식별하고 필터링하기 위해서는 Analytics Instrumentation 팀이 모든 제거된 메트릭의 기록을 필요로 합니다.

그룹 이름 변경

이벤트 또는 메트릭을 소유하는 그룹의 이름이 변경되면 해당 그룹에 속하는 모든 메트릭 및 이벤트 정의에 product_group 속성을 업데이트해야 합니다.

product_group_renamer 스크립트는 모든 정의를 업데이트할 수 있도록 해주므로 매뉴얼으로 수행할 필요가 없습니다.

예를들어, 그룹 5-min-app의 이름이 2-min-app으로 변경되면 다음과 같이 관련 파일을 업데이트할 수 있습니다:

$ ruby scripts/internal_events/product_group_renamer.rb 5-min-app 2-min-app
3개 파일에서 '5-min-app''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에 커밋하고 Merge Request을 만들어야 합니다.

한 그룹이 여러 그룹으로 분할된 경우에는 product_group를 매뉴얼으로 업데이트해야 합니다.