パフォーマンス・バー

  • GitLab 13.9 で導入された Statsフィールド。
  • GitLab 14.0 で導入れたメモリフィールド。
  • GitLab 14.4 で導入されたFlamegraphフィールド。

パフォーマンスバーを表示することで、GitLab UI ページのパフォーマンスの統計を見ることができます。例えば

Performance bar

利用可能な情報

左からパフォーマンス・バー:

  • 現在のホスト: ページを提供している現在のホスト。
  • データベースクエリ: (ミリ秒単位で)かかった時間とデータベースクエリの総数が、00ms / 00 (00 cached) pg の形式で表示されます。詳細ダイアログを表示するには、 を選択します。これを使用して、各クエリの以下の詳細を確認できます:
    • トランザクション内: クエリがトランザクションのコンテキスト内で実行された場合、クエリの下に表示されます。
    • ロール:データベース負荷分散が有効な場合に表示されます。どのサーバのロールがクエリに使用されたかを示します。”Primary “は、クエリが読み書き可能なプライマリ・サーバに送信されたことを意味します。”Replica “は読み取り専用のレプリカに送信されたことを意味します。
    • 設定名:異なるGitLab機能用に設定された異なるデータベースを区別するために使用されます。表示されている名前は、GitLabでデータベース接続を設定する際に使用される名前と同じです。
  • Gitaly呼び出し: かかった時間(ミリ秒)とGitaly呼び出しの総数。選択すると詳細のモーダルウィンドウが表示されます。
  • Ruggedコール:かかった時間(ミリ秒)とRuggedコールの総数。モーダルウィンドウに詳細が表示されます。
  • Redisコール:所要時間(ミリ秒)とRedisコールの総数。選択すると、詳細が表示されるモーダルウィンドウが表示されます。
  • Elasticsearchコール:かかった時間(ミリ秒)とElasticsearchコールの総数。モーダルウィンドウを選択して詳細を表示します。
  • 外部HTTPコール:かかった時間(ミリ秒)と他のシステムへの外部コールの総数。モーダルウィンドウを選択して詳細を表示します。
  • ページの読み込みタイミング:ブラウザが読み込みタイミングをサポートしている場合、スラッシュで区切られたミリ秒単位の複数のページが表示されます。モーダルウィンドウで詳細を表示します。左から右へ
    • バックエンド: ベースページのロードに必要な時間。
    • 最初の Contentful Paint:ユーザーに見えるようになるまでの時間。ブラウザがこの機能をサポートしていない場合は、NaN
    • DomContentLoadedイベント。
    • ページが読み込まれた総リクエスト数
  • メモリ: 選択されたリクエスト中に消費されたメモリと割り当てられたオブジェクトの量。選択すると、詳細のウィンドウが表示されます。
  • トレース: Jaegerがインテグレーションされている場合、トレースは現在のリクエストのcorrelation_id を含むJaegerトレースページにリンクします。
  • +: パフォーマンスバーにリクエストの詳細を追加するリンクです。リクエストは完全なURL(現在のユーザーとして認証されたもの)か、X-Request-Id ヘッダーの値によって追加できます。
  • Download: パフォーマンス・バー・レポートを生成するために使用される生のJSONをダウンロードするためのリンク。
  • メモリレポート:現在のURLのメモリプロファイリングレポートを生成するリンクです。
  • Flamegraphwith mode:選択したStackprofモードで現在のURLのフレームグラフを生成するリンク:
    • Wallモードでは、壁の時計の時刻を間隔ごとにサンプリングします。間隔は10100 マイクロ秒に設定されています。
    • CPUモードは、CPUアクティビティを1インターバルごとにサンプリングします。間隔は10100 マイクロ秒に設定されます。
    • オブジェクトモードは、間隔ごとにサンプリングします。間隔は100 割り当てに設定されます。
  • Request Selector : パフ ォーマ ン ス バーの右側に表示 さ れ る セ レ ク ト ボ ッ ク ス。一意の URL ごとに最初の 2 つのリクエストのみがキャプチャされます。
  • Stats(オプション):GITLAB_PERFORMANCE_BAR_STATS_URL 環境変数が設定されている場合、このURLがバーに表示されます。GitLab 13.9以降では、GitLab SaaSでのみ使用されます。
note
すべての環境ですべての指標が利用できるわけではありません。例えば、メモリビューは特定のパッチを適用したRubyを実行する必要があります。GDKを使ってローカルでGitLabを実行する場合、通常はそうではないので、メモリビューは使えません。

キーボードショートカット

](../../../user/shortcuts.md)p[ +](../../../user/shortcuts.md)b[ キーボードショートカットを押すとパフォーマンスバーが表示され、もう一度押すと非表示になります。

管理者以外の人がパフォーマンス・バーを表示するには、有効にする必要があります。

警告のリクエスト

GitLab 14.9でリクエストセレクタの警告アイコンを削除しました。

事前に定義された制限値を超えたリクエストには、メトリクスの横に警告cautionアイコンと説明が表示されます。この例では、Gitalyの通話時間がしきい値を超えています。

Gitaly call duration exceeded threshold

管理者以外のパフォーマンスバーの有効化

パフォーマンスバーは、デフォルトでは管理者以外には無効になっています。指定したグループで有効にするには、以下の手順に従います:

  1. 管理者権限を持つユーザーとしてサインインしてください。
  2. 左のサイドバーで、Search を選択するか、次のページに進んでください。
  3. Admin Areaを選択します。
  4. 左サイドバーで、[設定] > [メトリクスとプロファイリング](admin/application_settings/metrics_and_profiling) を選択し、[プロファイリング - パフォーマンスバー] を展開します。
  5. 管理者以外のパフォーマンス・バーへのアクセスを許可する]を選択します。
  6. Allow access to members of the following group]フィールドに、パフォーマンスへのアクセスを許可するグループのフルパスを入力します。
  7. 変更を保存を選択します。