메트릭 보고서

Tier: Premium, Ultimate Offering: GitLab.com, Self-Managed, GitLab Dedicated

GitLab은 Merge Request - 유닛 테스트 보고서, 코드 품질, 그리고 성능 테스트와 같은 많은 훌륭한 보고 도구를 제공합니다. JUnit은 “통과” 또는 “실패”하는 테스트에 대한 훌륭한 오픈 프레임워크이지만, 특정 변경 내용에서 다른 유형의 메트릭을 확인하는 것이 중요합니다.

작업을 구성하여 사용자 정의 메트릭 보고서를 사용할 수 있으며, GitLab은 해당 변경 내용을 전체 로그를 확인하지 않고도 식별하기 쉽고 빠르도록 Merge Request에 보고서를 표시합니다.

메트릭 보고서

사용 사례

다음은 메트릭 보고서를 사용할 수 있는 데이터의 예입니다:

  1. 메모리 사용량
  2. 부하 테스트 결과
  3. 코드 복잡성
  4. 코드 커버리지 통계

작동 방식

브랜치의 메트릭은 최신 메트릭 보고서 아티팩트(기본 파일 이름: metrics.txt)에서 문자열 값으로 읽힙니다.

Merge Request의 경우, 피처 브랜치의 이러한 메트릭 값은 대상 브랜치의 값과 비교됩니다. 그런 다음 다음과 같은 순서로 MR 위젯에 표시됩니다:

  • 변경된 값이 있는 기존 메트릭.
  • MR에서 추가된 메트릭. New 뱃지로 표시됨.
  • MR에서 제거된 메트릭. Removed 뱃지로 표시됨.
  • 변경되지 않은 값이 있는 기존 메트릭.

설정 방법

메트릭 보고서를 생성하는 작업을 추가합니다(기본 파일 이름: metrics.txt). 파일은 OpenMetrics 형식을 준수해야 합니다.

예를들어:

metrics:
  script:
    - echo 'metric_name metric_value' > metrics.txt
  artifacts:
    reports:
      metrics: metrics.txt

고급 예제

오픈메트릭 문서의 고급 예제(출처: Prometheus 문서)를 Merge Request 위젯에 렌더링한 모습:

메트릭 보고서 고급

문제 해결

메트릭 보고서가 변경되지 않음

Merge Request에서 메트릭 보고서를 보려고 할 때 메트릭 보고서가 변경되지 않음을 볼 수 있습니다. 이는 다음과 같은 이유 때문입니다:

  • Merge Request의 대상 브랜치에 비교 대상 메트릭 보고서가 없음.
  • 유료 구독이 없음.

이 메시지를 개선하기 위한 이슈가 열려 있습니다.