正式なドキュメントは英語版であり、この日本語訳はAI支援翻訳により作成された参考用のものです。日本語訳の一部の内容は人間によるレビューがまだ行われていないため、翻訳のタイミングにより英語版との間に差異が生じることがあります。最新かつ正確な情報については、英語版をご参照ください。

メトリクスレポート

  • プラン: Premium、Ultimate
  • 提供形態: GitLab.com、GitLab Self-Managed、GitLab Dedicated

メトリクスレポートは、マージリクエストでカスタムメトリクスを表示し、ブランチ間のパフォーマンス、メモリ使用量、その他の測定値を追跡します。

メトリクスレポートを使用して、以下を行います。

  • メモリ使用量の変更を監視します。
  • 負荷テストの結果を追跡します。
  • コードの複雑さを測定します。
  • コードカバレッジの統計を比較します。

メトリクスの処理ワークフロー

パイプラインの実行時に、GitLabはレポートアーティファクトからメトリクスを読み取り、比較のためにそれらを文字列値として保存します。デフォルトのファイル名はmetrics.txtです。

マージリクエストの場合、GitLabはフィーチャーブランチのメトリクスをターゲットブランチの値と比較し、マージリクエストウィジェットに次の順序で表示します。

  • 値が変更された既存のメトリクス。
  • マージリクエストによって追加されたメトリクス(新規バッジでマーク)。
  • マージリクエストによって削除されたメトリクス(削除しましたバッジでマーク)。
  • 値が変更されていない既存のメトリクス。

メトリクスレポートの設定

マージリクエストでカスタムメトリクスを追跡するには、メトリクスレポートをCI/CDパイプラインに追加します。

前提要件:

  • メトリクスファイルは、OpenMetricsテキスト形式を使用する必要があります。

メトリクスレポートを設定するには:

  1. .gitlab-ci.ymlファイルで、メトリクスレポートを生成するジョブを追加します。
  2. OpenMetrics形式でメトリクスを生成するジョブにスクリプトを追加します。
  3. artifacts:reports:metricsを使用してメトリクスファイルをアップロードするようにジョブを設定します。

次に例を示します。

metrics:
  stage: test
  script:
    - echo 'memory_usage_bytes 2621440' > metrics.txt
    - echo 'response_time_seconds 0.234' >> metrics.txt
    - echo 'test_coverage_percent 87.5' >> metrics.txt
    - echo '# EOF' >> metrics.txt
  artifacts:
    reports:
      metrics: metrics.txt

パイプラインの実行後、メトリクスレポートはマージリクエストウィジェットに表示されます。

メトリクス名と値を表示するマージリクエスト内のメトリクスレポートウィジェット。

追加の形式仕様と例については、Prometheusテキスト形式の詳細を参照してください。

トラブルシューティング

メトリクスレポートの操作中に、次の問題が発生する可能性があります。

メトリクスレポートが変更されていません

マージリクエストでメトリクスレポートを表示すると、メトリクスレポートのスキャンでは、新たな変更は検出されませんでしたと表示される場合があります。

この問題は、次の場合に発生します。

  • ターゲットブランチに、比較のためのベースラインメトリクスレポートがありません。
  • お使いのGitLabサブスクリプションには、メトリクスレポートが含まれていません(PremiumまたはUltimateが必要です)。

この問題を解決するには、次のようにします。

  1. お使いのGitLabサブスクリプションプランにメトリクスレポートが含まれていることを検証します。
  2. ターゲットブランチに、メトリクスレポートが設定されたパイプラインがあることを確認します。
  3. メトリクスファイルが有効なOpenMetrics形式を使用していることを検証します。