メトリクスレポート
GitLab 11.10 で導入されました。GitLab Runner 11.10 以上が必要です。
GitLabはマージリクエストや ユニットテストレポート、コード品質、パフォーマンステストなど、多くの素晴らしいレポートツールを提供しています。JUnitは “pass “または “fail “するテストのための素晴らしいオープンフレームワークですが、与えられた変更から他のタイプのメトリクスを見ることも重要です。
カスタムメトリクスレポートを使用するようにジョブを設定することができ、GitLab はマージリクエストのレポートを表示するので、ログ全体をチェックすることなく、より簡単かつ迅速に変更を特定することができます。
ユースケース
メトリクス・レポートを使用できるデータの例を以下に示します:
- メモリ使用量
- 負荷テスト結果
- コードの複雑さ
- コードカバレッジ統計
どのように動作するか
ブランチのメトリクスは、最新のメトリクス・レポートのアーティファクト(デフォルトのファイル名:metrics.txt
)から文字列値として読み込まれます。
MR では、機能ブランチのこれらのメトリクスの値が、ターゲット・ブランチの値と比較されます。MR ウィジェットでは、これらの値がこの順序で表示されます:
- 値が変更された既存のメトリクス。
- MR によって追加されたメトリクス。Newバッジが付いたもの。
- MRが削除したメトリクス。削除バッジでマークされます。
- 値が変更されていない既存のメトリクス。
設定方法
メトリクス・レポートを作成するジョブを追加します(デフォルトのファイル名はmetrics.txt
)。ファイルは、OpenMetrics形式に準拠している必要があります。
使用例:
metrics:
script:
- echo 'metric_name metric_value' > metrics.txt
artifacts:
reports:
metrics: metrics.txt
高度な例
OpenMetrics テキストファイルの高度な例 (Prometheus ドキュメントより) はマージリクエストウィジェットで次のように表示されます:
トラブルシューティング
メトリクス・レポートが変更されません。
マージリクエストでメトリクスレポートを表示しようとすると、Metrics reports did not change
。この原因は次のとおりです:
- マージリクエストの対象ブランチに、比較用のベースラインメトリクスレポートがありません。
- Premium以上のGitLabライセンスを持っていません。
このメッセージを改善するためのイシューが公開されています。