메트릭 보고서
GitLab은 병합 요청 - 단위 테스트 보고서, 코드 품질, 그리고 성능 테스트와 같은 다양한 훌륭한 보고 도구를 제공합니다. JUnit은 “통과” 또는 “실패”하는 테스트에 대한 훌륭한 오픈 프레임워크이지만, 주어진 변경 내용의 다른 유형의 메트릭도 확인하는 것이 중요합니다.
사용자는 작업을 구성하여 사용자 지정 메트릭 보고서를 사용할 수 있으며, GitLab은 전체 로그를 확인하지 않고 변경 사항을 쉽고 빠르게 식별할 수 있도록 병합 요청에 보고서를 표시합니다.
사용 사례
다음은 메트릭 보고서를 사용할 수 있는 데이터의 예시입니다:
- 메모리 사용량
- 부하 테스트 결과
- 코드 복잡성
- 코드 커버리지 통계
작동 방식
브랜치의 메트릭은 가장 최근의 메트릭 보고서 아티팩트(default 파일명: metrics.txt
)에서 문자열 값으로 읽습니다.
병합 요청의 경우, 기능 브랜치의 해당 메트릭 값은 대상 브랜치의 값과 비교됩니다. 그런 다음 다음과 같은 순서로 MR 위젯에 표시됩니다:
- 변경된 값이 있는 기존 메트릭들
- MR에서 추가된 메트릭. 새로운 뱃지로 표시됨.
- MR에서 제거된 메트릭. 제외됨 뱃지로 표시됨.
- 변경되지 않은 값이 있는 기존 메트릭들
설정 방법
메트릭 보고서를 생성하는 작업을 추가합니다(default 파일명: metrics.txt
). 파일은 OpenMetrics 형식을 준수해야 합니다.
예:
yaml
metrics:
script:
- echo 'metric_name metric_value' > metrics.txt
artifacts:
reports:
metrics: metrics.txt
고급 예시
Prometheus 문서에 나오는 OpenMetrics 텍스트 파일의 고급 예시는 병합 요청 위젯에 다음과 같이 렌더링됩니다:
문제 해결
메트릭 보고서가 변경되지 않음
병합 요청에서 메트릭 보고서를 보려고 할 때 메트릭 보고서가 변경되지 않았음
이 표시될 수 있습니다. 이는 다음과 같은 이유로 발생할 수 있습니다:
- 병합 요청의 대상 브랜치에 비교할 기준 메트릭 보고서가 없음.
- 유료 구독이 없음.
이 메시지를 개선하기 위한 이슈가 열려 있습니다.