パッケージ org.springframework.util
クラス StopWatch
java.lang.ObjectSE
org.springframework.util.StopWatch
シンプルなストップウォッチ。多数のタスクのタイミングを考慮し、合計実行時間と各名前付きタスクの実行時間を公開します。
System.nanoTime()
の使用を隠蔽し、アプリケーションコードの可読性を向上させ、計算エラーの可能性を減らします。
このオブジェクトはスレッドセーフに設計されておらず、同期を使用しないことに注意してください。
このクラスは通常、本番アプリケーションの一部としてではなく、概念実証作業中および開発中のパフォーマンスを検証するために使用されます。
Spring Framework 5.2 の時点で、実行時間はナノ秒単位で追跡および報告されます。
- 導入:
- 2001 年 5 月 2 日
- 作成者:
- Rod Johnson, Juergen Hoeller, Sam Brannen
ネストされたクラスのサマリー
ネストされたクラスコンストラクターのサマリー
コンストラクターメソッドのサマリー
修飾子と型メソッド説明現在実行中のタスクがあれば、その名前を取得します。getId()
構築時に指定された、このStopWatch
の ID を取得します。最後のタスクをStopWatch.TaskInfo
オブジェクトとして取得します。最後のタスクの名前を取得します。long
最後のタスクにかかった時間をミリ秒単位で取得します。long
最後のタスクにかかった時間をナノ秒単位で取得します。int
時間指定されたタスクの数を取得します。実行されたタスクのデータの配列を取得します。long
すべてのタスクの合計時間をミリ秒単位で取得します。long
すべてのタスクの合計時間をナノ秒単位で取得します。double
すべてのタスクの合計時間を秒単位で取得します。boolean
このStopWatch
が現在実行されているかどうかを確認します。実行されたすべてのタスクを説明するテーブルを含む文字列を生成します。void
setKeepTaskList
(boolean keepTaskList) StopWatch.TaskInfo
配列を長期的に構築するかどうかを構成します。総実行時間の簡単な説明を取得します。void
start()
名前のないタスクを開始します。void
名前付きタスクを開始します。void
stop()
現在のタスクを停止します。toString()
実行されたすべてのタスクを説明する有益な文字列を生成します
コンストラクターの詳細
StopWatch
public StopWatch()新しいStopWatch
を作成します。タスクを開始しません。
StopWatch
指定された ID で新しいStopWatch
を構築します。ID は、複数のストップウォッチからの出力があり、区別する必要がある場合に便利です。
タスクを開始しません。
- パラメーター:
id
- このストップウォッチの識別子
メソッドの詳細
getId
構築時に指定された、このStopWatch
の ID を取得します。- 戻り値:
- ID (デフォルトでは空の文字列)
- 導入:
- 4.2.2
- 関連事項:
setKeepTaskList
public void setKeepTaskList(boolean keepTaskList) StopWatch.TaskInfo
配列を長期的に構築するかどうかを構成します。数百万の間隔で
StopWatch
を使用する場合は、これをfalse
に設定します。そうしないと、TaskInfo
構造体が過剰なメモリを消費します。デフォルトは
true
です。start
名前のないタスクを開始します。このメソッドを最初に呼び出さずに
stop()
またはタイミングメソッドが呼び出された場合の結果は未定義です。start
名前付きタスクを開始します。このメソッドを最初に呼び出さずに
stop()
またはタイミングメソッドが呼び出された場合の結果は未定義です。- パラメーター:
taskName
- 開始するタスクの名前- 例外:
IllegalStateExceptionSE
- 関連事項:
stop
現在のタスクを停止します。start()
/stop()
メソッドのペアを少なくとも 1 つ呼び出さずにタイミングメソッドが呼び出された場合、結果は未定義です。isRunning
public boolean isRunning()このStopWatch
が現在実行されているかどうかを確認します。- 関連事項:
currentTaskName
現在実行中のタスクがあれば、その名前を取得します。- 導入:
- 4.2.2
- 関連事項:
getLastTaskTimeNanos
最後のタスクにかかった時間をナノ秒単位で取得します。- 例外:
IllegalStateExceptionSE
- 導入:
- 5.2
- 関連事項:
getLastTaskTimeMillis
最後のタスクにかかった時間をミリ秒単位で取得します。getLastTaskName
最後のタスクの名前を取得します。getLastTaskInfo
最後のタスクをStopWatch.TaskInfo
オブジェクトとして取得します。getTotalTimeNanos
public long getTotalTimeNanos()すべてのタスクの合計時間をナノ秒単位で取得します。- 導入:
- 5.2
- 関連事項:
getTotalTimeMillis
public long getTotalTimeMillis()すべてのタスクの合計時間をミリ秒単位で取得します。getTotalTimeSeconds
public double getTotalTimeSeconds()すべてのタスクの合計時間を秒単位で取得します。getTaskCount
public int getTaskCount()時間指定されたタスクの数を取得します。getTaskInfo
実行されたタスクのデータの配列を取得します。shortSummary
総実行時間の簡単な説明を取得します。prettyPrint
実行されたすべてのタスクを説明するテーブルを含む文字列を生成します。カスタムレポートの場合は、
getTaskInfo()
を呼び出して、作業情報を直接使用します。toString
実行されたすべてのタスクを説明する有益な文字列を生成しますカスタムレポートの場合は、
getTaskInfo()
を呼び出して、作業情報を直接使用します。