はい、可能です。簡単に実行できます。ベスト プラクティスとして常に実行することをお勧めします。問題を再現するために余分な時間を費やすことなく、何が起こっているかを説明するためにデータを利用できることは常に良いことです.
JFR (Java Flight Recorder) を使用するために、独自の JMH プロファイラーを作成しました: JmhFlightRecorderProfilerは、ベンチマークの終了時に JMH プロファイリングを開始し、データをファイルに保存します。このファイルは、JDK に同梱されている Java Mission control で開くことができます。
ベンチマークを開始して使用する方法は次のとおりです (完全な例)。
Options opt = new OptionsBuilder()
.include(".*")
.addProfiler(JmhFlightRecorderProfiler.class)
.jvmArgs("-Xmx256m", "-Xms256m", "-XX:+UnlockCommercialFeatures",
"-Djmh.stack.profiles=" + destinationFolder,
"-Djmh.executor=FJP",
"-Djmh.fr.options=defaultrecording=true,settings=" + profile)
.result(destinationFolder + "/" + "benchmarkResults.csv")
.resultFormat(ResultFormatType.CSV)
.warmupIterations(10)
.measurementIterations(10)
.forks(1)
.build();
new Runner(opt).run();
標準ビルド中にベンチマークを実行し、Jenkins JMH プラグインを使用してベンチマークの結果/ビルドを監視/傾向分析し、何らかの劣化が観察された場合は、潜在的な原因を調査するためにベンチマーク プロファイルを利用できるようにします。