アプリケーションの特定の部分のパフォーマンスを測定する必要があります。これらの測定値を計算するには、SpringStopWatch
クラスを使用します。メソッドには、各反復の実行を測定する必要があるループがあります。
私が望むのは、ループ部分、カウンター、および最小/最大/平均値です。残念ながら、SpringStopWatch
クラスにはそのような機能はありません。
たとえば、次のコード:
StopWatch watch = new StopWatch("foo");
watch.start("First process");
doSomething();
watch.stop();
for (int i = 0; i < 10; i++) {
watch.start("loop");
doAnotherThing();
watch.stop();
}
System.out.println(watch.prettyPrint());
出力します:
StopWatch 'foo': running time (millis) = 1469
-----------------------------------------
ms % Task name
-----------------------------------------
01000 068% First process
00078 005% loop
00000 000% loop
00016 001% loop
00047 003% loop
00015 001% loop
00047 003% loop
00094 006% loop
00000 000% loop
00109 007% loop
00063 004% loop
私が欲しいのは:
StopWatch 'foo': running time (millis) = 1469
-----------------------------------------
ms % Task name
-----------------------------------------
01000 068% First process
00469 032% loop | min: 0 ; max: 109 ; average: 47 ; count: 10
Spring を使用してそれを達成する方法はありますか?
ps: perf4jがそれを許可することは知っていますが、新しいライブラリの追加を避けることができれば、それは素晴らしいことです...