성능 바

Tier: Free, Premium, Ultimate Offering: Self-managed

GitLab UI 페이지의 성능 통계를 확인하기 위해 성능 바를 표시할 수 있습니다.
예를 들어:

성능 바

사용 가능한 정보

왼쪽에서 오른쪽으로, 성능 바는 다음을 표시합니다:

  • Current Host: 페이지를 제공하는 현재 호스트입니다.
  • Database queries: 소요 시간(밀리초 단위)과 총 데이터베이스 쿼리 수를 표시합니다. 형식은 00ms / 00 (00 cached) pg입니다. 더 많은 세부 정보를 표시하는 대화 상자를 선택할 수 있습니다. 각 쿼리에 대한 다음 세부 정보를 확인할 수 있습니다:
    • In a transaction: 트랜잭션의 맥락에서 실행된 경우 쿼리 아래에 나타납니다.
    • Role: Database Load Balancing이 활성화된 경우 나타납니다. 쿼리에 사용된 서버 역할이 표시됩니다. “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 이벤트입니다.
    • 로드된 페이지의 총 요청 수입니다.
  • Memory: 선택된 요청 동안 소비된 메모리 양과 할당된 객체입니다. 더 많은 세부 정보를 표시하는 창을 선택할 수 있습니다.
  • Trace: Jaeger가 통합된 경우, Trace는 현재 요청의 correlation_id가 포함된 Jaeger 추적 페이지로 연결되는 링크입니다.
  • +: 요청 세부 정보를 성능 바에 추가하는 링크입니다. 요청은 전체 URL(현재 사용자로 인증됨) 또는 X-Request-Id 헤더의 값을 통해 추가할 수 있습니다.
  • Download: 성능 바 보고서를 생성하는 데 사용된 원시 JSON을 다운로드하는 링크입니다.
  • Memory Report: 현재 URL의 메모리 프로파일링 보고서를 생성하는 링크입니다.
  • Flamegraph 모드 포함: 선택한 Stackprof 모드로 현재 URL의 flamegraph를 생성하는 링크입니다:
    • Wall 모드는 벽시계의 시간 간격을 샘플링합니다. 간격은 10100 마이크로초로 설정됩니다.
    • CPU 모드는 CPU 활동의 각 간격을 샘플링합니다. 간격은 10100 마이크로초로 설정됩니다.
    • Object 모드는 각 간격을 샘플링합니다. 간격은 100 할당입니다.
  • Request Selector: 성능 바의 오른쪽에 표시된 선택 상자로 현재 페이지가 열려 있는 동안 수행된 요청에 대한 이러한 메트릭을 볼 수 있습니다. 고유한 URL당 처음 두 개의 요청만 캡처됩니다.
  • Stats (선택 사항): GITLAB_PERFORMANCE_BAR_STATS_URL 환경 변수가 설정된 경우, 이 URL이 바에 표시됩니다. GitLab.com에서만 사용됩니다.
note
모든 환경에서 모든 지표를 사용할 수 있는 것은 아닙니다. 예를 들어, 메모리 보기에는 특정 패치가 적용된 Ruby 실행이 필요합니다. GitLab을 GDK를 사용하여 로컬로 실행할 때 일반적으로 해당 사항이 없으며 메모리 보기를 사용할 수 없습니다.

키보드 단축키

p + b 키보드 단축키를 눌러 성능 바를 표시하고, 다시 눌러 숨깁니다.

비관리자가 성능 바를 표시하려면 그들을 위해 활성화되어야 합니다.

요청 경고

미리 정의된 한계를 초과하는 요청은 경고 caution 아이콘 및 지표 옆에 설명을 표시합니다. 이 예시에서 Gitaly 호출 시간은 임계값을 초과했습니다.

Gitaly 호출 시간이 임계값을 초과했습니다

비관리자를 위한 성능 바 활성화

비관리자에 대해 성능 바는 기본적으로 비활성화되어 있습니다. 특정 그룹에 대해 활성화하려면:

  1. 관리자 접근 권한이 있는 사용자로 로그인합니다.
  2. 왼쪽 사이드바의 맨 아래에서 Admin을 선택합니다.
  3. Settings > Metrics and profiling을 선택합니다.
  4. Profiling - Performance bar를 확장합니다.
  5. Allow non-administrators access to the performance bar를 선택합니다.
  6. Allow access to members of the following group 필드에 성능에 접근할 허용된 그룹의 전체 경로를 제공합니다.
  7. Save changes를 선택합니다.