성능 바
Offering: GitLab Self-Managed, GitLab Dedicated
성능 바는 브라우저에서 실시간 메트릭을 직접 표시하여 로그를 검토하거나 별도의 프로파일링 도구를 실행하지 않고도 인사이트를 제공합니다. 개발 팀의 경우 성능 바는 집중해야 할 정확한 위치를 보여주어 디버깅을 단순화합니다.
성능 바는 브라우저에서 실시간 메트릭을 직접 표시하여 로그를 검토하거나 별도의 프로파일링 도구를 실행하지 않고도 인사이트를 제공합니다.
개발 팀의 경우 성능 바는 집중해야 할 정확한 위치를 보여주어 디버깅을 단순화합니다.

사용 가능한 정보#
히스토리
- GitLab 16.6에서 Rugged 호출이 제거됨.
왼쪽에서 오른쪽으로 성능 바는 다음을 표시합니다:
- Current Host: 페이지를 제공하는 현재 호스트.
- Database queries:
00ms / 00 (00 cached) pg형식으로 표시되는 소요 시간(밀리초)과 총 데이터베이스 쿼리 수. 더 많은 세부 정보가 있는 대화 상자를 표시하려면 선택합니다. 각 쿼리에 대한 다음 세부 정보를 볼 수 있습니다:- In a transaction: 트랜잭션 컨텍스트에서 실행된 경우 쿼리 아래에 표시됩니다
- Role: 데이터베이스 로드 밸런싱이 활성화된 경우 표시됩니다. 쿼리에 사용된 서버 역할을 보여줍니다. "Primary"는 쿼리가 읽기/쓰기 기본 서버로 전송되었음을 의미합니다. "Replica"는 읽기 전용 복제본으로 전송되었음을 의미합니다.
- Configuration name: 다양한 GitLab 기능에 대해 구성된 다른 데이터베이스를 구별하는 데 사용됩니다. 표시되는 이름은 GitLab에서 데이터베이스 연결을 구성하는 데 사용된 동일한 이름입니다.
- Gitaly calls: 소요 시간(밀리초)과 총 Gitaly 호출 수. 더 많은 세부 정보가 있는 대화 상자를 표시하려면 선택합니다.
- Redis calls: 소요 시간(밀리초)과 총 Redis 호출 수. 더 많은 세부 정보가 있는 대화 상자를 표시하려면 선택합니다.
- Elasticsearch calls: 소요 시간(밀리초)과 총 Elasticsearch 호출 수. 더 많은 세부 정보가 있는 대화 상자를 표시하려면 선택합니다.
- External HTTP calls: 소요 시간(밀리초)과 다른 시스템에 대한 총 외부 호출 수. 더 많은 세부 정보가 있는 대화 상자를 표시하려면 선택합니다.
- 페이지의 Load timings: 브라우저가 로드 타이밍을 지원하는 경우 슬래시로 구분된 여러 밀리초 값. 더 많은 세부 정보가 있는 대화 상자를 표시하려면 선택합니다. 왼쪽에서 오른쪽으로의 값:
- Backend: 기본 페이지를 로드하는 데 필요한 시간.
- First Contentful Paint: 사용자에게 무언가가 표시될 때까지의 시간. 브라우저가 이 기능을 지원하지 않으면
NaN을 표시합니다. - DomContentLoaded 이벤트.
- 페이지가 로드한 Total number of requests.
- Memory: 선택한 요청 중에 소비된 메모리 양과 할당된 객체. 더 많은 세부 정보가 있는 창을 표시하려면 선택합니다.
- Trace: Jaeger가 통합된 경우 Trace는 현재 요청의
correlation_id가 포함된 Jaeger 추적 페이지로 연결됩니다. - +: 요청의 세부 정보를 성능 바에 추가하는 링크. 요청은 전체 URL(현재 사용자로 인증됨) 또는
X-Request-Id헤더 값으로 추가할 수 있습니다. - Download: 성능 바 보고서를 생성하는 데 사용된 원시 JSON을 다운로드하는 링크.
- Memory Report: 현재 URL의 메모리 프로파일링 보고서를 생성하는 링크.
- Flamegraph with mode: 선택한 Stackprof 모드로 현재 URL의 플레임그래프를 생성하는 링크:
- Wall 모드는 벽 시계의 모든 시간 간격을 샘플링합니다. 간격은
10100마이크로초로 설정됩니다. - CPU 모드는 CPU 활동의 모든 간격을 샘플링합니다. 간격은
10100마이크로초로 설정됩니다. - Object 모드는 모든 간격을 샘플링합니다. 간격은
100개의 할당으로 설정됩니다.
- Wall 모드는 벽 시계의 모든 시간 간격을 샘플링합니다. 간격은
- Request Selector: 성능 바 오른쪽에 표시되는 선택 상자로 현재 페이지가 열려 있는 동안 수행된 모든 요청에 대한 이러한 메트릭을 볼 수 있습니다. 고유한 URL당 처음 두 요청만 캡처됩니다.
- Stats (선택 사항):
GITLAB_PERFORMANCE_BAR_STATS_URL환경 변수가 설정된 경우 이 URL이 바에 표시됩니다. GitLab.com에서만 사용됩니다.
모든 지표가 모든 환경에서 사용 가능한 것은 아닙니다. 예를 들어 메모리 보기는 특정 패치가 적용된 Ruby를 실행해야 합니다. GDK를 사용하여 GitLab을 로컬에서 실행하는 경우 일반적으로 이것은 해당하지 않으며 메모리 보기를 사용할 수 없습니다.
키보드 단축키#
p + b 키보드 단축키를 누르면 성능 바가 표시되고, 다시 누르면 숨겨집니다.
관리자가 아닌 사용자가 성능 바를 표시하려면 활성화해야 합니다.
요청 경고#
사전 정의된 제한을 초과하는 요청은 메트릭 옆에 경고(⚠️) 아이콘과 설명이 표시됩니다. 이 예시에서 Gitaly 호출 기간이 임계값을 초과했습니다.

관리자가 아닌 사용자에 대해 성능 바 활성화 {#enable-the-performance-bar-for-non-administrators}#
성능 바는 기본적으로 관리자가 아닌 사용자에게 비활성화됩니다. 주어진 그룹에 대해 활성화하려면:
- 관리자 액세스 권한이 있는 사용자로 로그인합니다.
- 오른쪽 상단에서 Admin을 선택합니다.
- 왼쪽 사이드바에서 Settings > Metrics and profiling을 선택합니다.
- Profiling - Performance bar를 펼칩니다.
- Allow non-administrators access to the performance bar를 선택합니다.
- Allow access to members of the following group 필드에 성능에 액세스할 수 있는 그룹의 전체 경로를 제공합니다.
- Save changes를 선택합니다.
