メトリクスレポート
- プラン: Premium、Ultimate
- 提供形態: GitLab.com、GitLab Self-Managed、GitLab Dedicated
メトリクスレポートは、マージリクエストでカスタムメトリクスを表示し、ブランチ間のパフォーマンス、メモリ使用量、その他の測定値を追跡します。
メトリクスレポートを使用して、以下を行います。
- メモリ使用量の変更を監視します。
- 負荷テストの結果を追跡します。
- コードの複雑さを測定します。
- コードカバレッジの統計を比較します。
メトリクスの処理ワークフロー
パイプラインの実行時に、GitLabはレポートアーティファクトからメトリクスを読み取り、比較のためにそれらを文字列値として保存します。デフォルトのファイル名はmetrics.txtです。
マージリクエストの場合、GitLabはフィーチャーブランチのメトリクスをターゲットブランチの値と比較し、マージリクエストウィジェットに次の順序で表示します。
- 値が変更された既存のメトリクス。
- マージリクエストによって追加されたメトリクス(新規バッジでマーク)。
- マージリクエストによって削除されたメトリクス(削除しましたバッジでマーク)。
- 値が変更されていない既存のメトリクス。
メトリクスレポートの設定
マージリクエストでカスタムメトリクスを追跡するには、メトリクスレポートをCI/CDパイプラインに追加します。
前提要件:
- メトリクスファイルは、OpenMetricsテキスト形式を使用する必要があります。
メトリクスレポートを設定するには:
.gitlab-ci.ymlファイルで、メトリクスレポートを生成するジョブを追加します。- OpenMetrics形式でメトリクスを生成するジョブにスクリプトを追加します。
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が必要です)。
この問題を解決するには、次のようにします。
- お使いのGitLabサブスクリプションプランにメトリクスレポートが含まれていることを検証します。
- ターゲットブランチに、メトリクスレポートが設定されたパイプラインがあることを確認します。
- メトリクスファイルが有効なOpenMetrics形式を使用していることを検証します。
