Javaアプリケーションのパフォーマンスをテストするためのフレームワークを作成しました(JMeterなどの既存のフレームワークはどれも適切ではありませんでした)。フレームワークは、平均/最小/最大トランザクションなどのさまざまなメトリックを生成します毎秒。
各Jenkinsビルドでこれらのメトリックを表示して、コミットによってパフォーマンスが向上したかどうかを追跡できるようにします。
これを行う方法がわかりません。
1つのアイデアは、HTMLファイルを出力するようにパフォーマンステストフレームワークを変更してから、Jenkinsにビルド結果ページにそれを表示/リンクさせることです。
アドバイスはありがたく受けました。
すべての情報をJUnitのような標準形式に圧縮することは(不可能ではないにしても)難しいことにも同意します。問題をすばやく特定するのに適しています。問題があることがわかったら、特定のニーズに合わせて、通常は自由形式またはカスタム形式の詳細情報が必要です。したがって、Jenkinsですぐに処理できるJUnitを使用して、ビルドが安定しているかどうかを判断したり、Niceトレンドグラフを描画したりします。さらに詳細なHTMLレポートも作成します。
さて、当面の質問です。HTMLファイルをアーティファクトとしてアーカイブするだけです(これを行うための標準のビルド後の手順があります)。次に、ビルドへのアーティファクトの中にリンクが表示されます。最新のアーティファクトと成功した最新のビルドアーティファクトへのパーマリンクがあります。
http://[server]/job/[job_name]/lastCompletedBuild/artifact/foo.html
http://[server]/job/[job_name]/lastSuccessfulBuild/artifact/foo.html
これらのリンクをブックマークして、ワンクリックですばやく簡単に結果にアクセスできます。
Peformance Plugin は、JMeterおよびJUnitテストの結果を、すてきなグラフィック形式で表示できます。そして、プラグインのページにそれを使用する方法についての説明があります。
これは GitHub でホストされているオープンソースのプラグインです。 JUnitとJMeterパーサーはすでに存在していますが、サブクラス PerformanceReportParser
をサブクラス化するだけで独自のパーサーを実装できます。とても簡単で、リポジトリをフォークして実装を開始するだけです。
HTML Publisher Plugin を使用して、結果のHTMLページを公開できます。それは非常に簡単です。
より良い統合が必要な場合は、JMeterが生成するものと同じ形式に従う出力を作成し、パフォーマンスプラグインを使用してみてください。
最良の結果を得るには、Łukaszのアドバイスを受けて、パフォーマンスプラグインを必要に応じて変更します。もちろん、それはあなたの側で最も努力を必要とします。