메트릭 보고서

Tier: 프리미엄, 얼티메이트 Offering: GitLab.com, Self-managed, GitLab Dedicated

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

작업에 사용자 정의 메트릭 보고서를 구성할 수 있으며, GitLab은 이를 병합 요청에 표시하여 전체 로그를 확인하지 않고도 변경 사항을 더 쉽고 빠르게 식별할 수 있습니다.

메트릭 보고서

사용 사례

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

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

작동 방식

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

병합 요청의 경우, 기능 브랜치의 이러한 메트릭 값은 대상 브랜치의 값과 비교됩니다. 그런 다음 이 값을 다음과 같은 순서로 병합 요청 위젯에 표시합니다:

  • 변경된 값이 있는 기존 메트릭.
  • 병합 요청에 의해 추가된 메트릭. New 배지로 표시됩니다.
  • 병합 요청에 의해 제거된 메트릭. Removed 배지로 표시됩니다.
  • 변경되지 않은 값을 가진 기존 메트릭.

설정 방법

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

예:

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

고급 예제

Prometheus 문서의 OpenMetrics 텍스트 파일의 고급 예제는 병합 요청 위젯에서 다음과 같이 렌더링됩니다:

고급 메트릭 보고서

문제 해결

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

병합 요청에서 메트릭 보고서를 보려고 할 때 메트릭 보고서가 변경되지 않음이 표시될 수 있습니다. 이는 다음과 같은 이유로 발생합니다:

  • 병합 요청의 대상 브랜치에 비교할 기준 메트릭 보고서가 없음.
  • 유료 구독이 없음.

이 메시지를 개선하려는 오픈된 이슈가 있습니다.