プロジェクトのさまざまな機能のパフォーマンスを測定したいと考えています。これは複数のスレッドで実行されるため、現在、このようなものがあります
long start = System.currentTimeMillis();
first();
StatsTracker.putTime("first", System.currentTimeMillis() - start);
...
start = System.currentTimeMillis();
second();
StatsTracker.putTime("second", System.currentTimeMillis() - start);
StatsTracker は、単純にパフォーマンスのマップを追跡する静的クラスです。
私はカスタム注釈を書くのが初めてで、オンラインで見たいくつかのチュートリアルで少し混乱しました。私が最終的に欲しいのはこのようなものです
@StartTime("first")
first();
@EndTime("first")
...
@StartTime("second")
second();
@EndTime("second")
次に、開始/終了時間の注釈については、2 つの注釈で現在のシステム時間を記録し、そのランタイムをマップに入れます (平均パフォーマンスを記録するため)。
編集:関数の定義の前に次のようなものを用意する方が自然かもしれません:
@TrackTime("first")
public void first() { ... }
どんな助けでも大歓迎です。ありがとう!