메트릭 보고서

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

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

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

Metrics Reports

사용 사례

다음은 메트릭 보고서를 사용할 수 있는 데이터의 예시를 고려해 보세요:

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

작동 방식

브랜치의 메트릭은 최신 메트릭 보고서 아티팩트(default filename: metrics.txt)에서 문자열 값으로 읽혀집니다.

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

  • 변경된 값이 있는 기존 메트릭.
  • MR에 의해 추가된 메트릭. New(신규) 뱃지로 표시됩니다.
  • MR에 의해 제거된 메트릭. Removed(삭제됨) 뱃지로 표시됩니다.
  • 변경되지 않은 값이 있는 기존 메트릭.

설정 방법

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

예시:

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

고급 예시

Prometheus 문서의 OpenMetrics 텍스트 파일의 고급 예시는 Merge Request 위젯에서 다음과 같이 렌더링됩니다:

메트릭 보고서 고급

문제 해결

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

Merge Request에서 메트릭 보고서를 확인하려고 시도할 때 메트릭 보고서가 변경되지 않음을 볼 수 있습니다. 이러한 경우의 이유는:

  • Merge Request의 대상 브랜치에 대한 기준 메트릭 보고서가 없는 경우.
  • 유료 구독이 없는 경우.

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