パッケージ org.springframework.util

クラス StopWatch

java.lang.ObjectSE
org.springframework.util.StopWatch

public class StopWatch extends ObjectSE
シンプルなストップウォッチ。多数のタスクのタイミングを考慮し、合計実行時間と各名前付きタスクの実行時間を公開します。

System.nanoTime() の使用を隠蔽し、アプリケーションコードの可読性を向上させ、計算エラーの可能性を減らします。

このオブジェクトはスレッドセーフに設計されておらず、同期を使用しないことに注意してください。

このクラスは通常、本番アプリケーションの一部としてではなく、概念実証作業中および開発中のパフォーマンスを検証するために使用されます。

Spring Framework 5.2 の時点で、実行時間はナノ秒単位で追跡および報告されます。

導入:
2001 年 5 月 2 日
作成者:
Rod Johnson, Juergen Hoeller, Sam Brannen
  • ネストされたクラスのサマリー

    ネストされたクラス
    修飾子と型
    クラス
    説明
    static final class
    StopWatch 内で実行される 1 つのタスクに関するデータを保持するネストされたクラス。
  • コンストラクターのサマリー

    コンストラクター
    コンストラクター
    説明
    新しい StopWatch を作成します。
    指定された ID で新しい StopWatch を構築します。
  • メソッドのサマリー

    修飾子と型
    メソッド
    説明
    現在実行中のタスクがあれば、その名前を取得します。
    構築時に指定された、この StopWatch の ID を取得します。
    最後のタスクを StopWatch.TaskInfo オブジェクトとして取得します。
    最後のタスクの名前を取得します。
    long
    最後のタスクにかかった時間をミリ秒単位で取得します。
    long
    最後のタスクにかかった時間をナノ秒単位で取得します。
    int
    時間指定されたタスクの数を取得します。
    実行されたタスクのデータの配列を取得します。
    long
    すべてのタスクの合計時間をミリ秒単位で取得します。
    long
    すべてのタスクの合計時間をナノ秒単位で取得します。
    double
    すべてのタスクの合計時間を秒単位で取得します。
    boolean
    この StopWatch が現在実行されているかどうかを確認します。
    実行されたすべてのタスクを説明するテーブルを含む文字列を生成します。
    void
    setKeepTaskList(boolean keepTaskList)
    StopWatch.TaskInfo 配列を長期的に構築するかどうかを構成します。
    総実行時間の簡単な説明を取得します。
    void
    名前のないタスクを開始します。
    void
    start(StringSE taskName)
    名前付きタスクを開始します。
    void
    現在のタスクを停止します。
    実行されたすべてのタスクを説明する有益な文字列を生成します

    クラス java.lang.ObjectSE から継承されたメソッド

    clone, equalsSE, finalize, getClass, hashCode, notify, notifyAll, wait, waitSE, waitSE
  • コンストラクターの詳細

    • StopWatch

      public StopWatch()
      新しい StopWatch を作成します。

      タスクを開始しません。

    • StopWatch

      public StopWatch(StringSE id)
      指定された ID で新しい StopWatch を構築します。

      この ID は、複数のストップウォッチからの出力があり、区別する必要がある場合に便利です。

      タスクを開始しません。

      パラメーター:
      id - このストップウォッチの識別子
  • メソッドの詳細

    • getId

      public StringSE getId()
      構築時に指定された、この StopWatch の ID を取得します。
      戻り値:
      ID (デフォルトでは空の文字列)
      導入:
      4.2.2
      関連事項:
    • setKeepTaskList

      public void setKeepTaskList(boolean keepTaskList)
      StopWatch.TaskInfo 配列を長期的に構築するかどうかを構成します。

      数百万のタスクに StopWatch を使用する場合は、これを false に設定します。そうしないと、TaskInfo 構造が過剰なメモリを消費します。

      デフォルトは true です。

    • start

      public void start() throws IllegalStateExceptionSE
      名前のないタスクを開始します。

      このメソッドを最初に呼び出さずに stop() またはタイミングメソッドが呼び出された場合の結果は未定義です。

      例外:
      IllegalStateExceptionSE
      関連事項:
    • start

      public void start(StringSE taskName) throws IllegalStateExceptionSE
      名前付きタスクを開始します。

      このメソッドを最初に呼び出さずに stop() またはタイミングメソッドが呼び出された場合の結果は未定義です。

      パラメーター:
      taskName - 開始するタスクの名前
      例外:
      IllegalStateExceptionSE
      関連事項:
    • stop

      public void stop() throws IllegalStateExceptionSE
      現在のタスクを停止します。

      start() / stop() メソッドのペアを少なくとも 1 つ呼び出さずにタイミングメソッドが呼び出された場合、結果は未定義です。

      例外:
      IllegalStateExceptionSE
      関連事項:
    • isRunning

      public boolean isRunning()
      この StopWatch が現在実行されているかどうかを確認します。
      関連事項:
    • currentTaskName

      @Nullable public StringSE currentTaskName()
      現在実行中のタスクがあれば、その名前を取得します。
      導入:
      4.2.2
      関連事項:
    • getLastTaskTimeNanos

      public long getLastTaskTimeNanos() throws IllegalStateExceptionSE
      最後のタスクにかかった時間をナノ秒単位で取得します。
      例外:
      IllegalStateExceptionSE
      導入:
      5.2
      関連事項:
    • getLastTaskTimeMillis

      public long getLastTaskTimeMillis() throws IllegalStateExceptionSE
      最後のタスクにかかった時間をミリ秒単位で取得します。
      例外:
      IllegalStateExceptionSE
      関連事項:
    • getLastTaskName

      public StringSE getLastTaskName() throws IllegalStateExceptionSE
      最後のタスクの名前を取得します。
      例外:
      IllegalStateExceptionSE
    • getLastTaskInfo

      public StopWatch.TaskInfo getLastTaskInfo() throws IllegalStateExceptionSE
      最後のタスクを StopWatch.TaskInfo オブジェクトとして取得します。
      例外:
      IllegalStateExceptionSE
    • getTotalTimeNanos

      public long getTotalTimeNanos()
      すべてのタスクの合計時間をナノ秒単位で取得します。
      導入:
      5.2
      関連事項:
    • getTotalTimeMillis

      public long getTotalTimeMillis()
      すべてのタスクの合計時間をミリ秒単位で取得します。
      関連事項:
    • getTotalTimeSeconds

      public double getTotalTimeSeconds()
      すべてのタスクの合計時間を秒単位で取得します。
      関連事項:
    • getTaskCount

      public int getTaskCount()
      時間指定されたタスクの数を取得します。
    • getTaskInfo

      public StopWatch.TaskInfo[] getTaskInfo()
      実行されたタスクのデータの配列を取得します。
    • shortSummary

      public StringSE shortSummary()
      総実行時間の簡単な説明を取得します。
    • prettyPrint

      public StringSE prettyPrint()
      実行されたすべてのタスクを説明するテーブルを含む文字列を生成します。

      カスタムレポートの場合は、getTaskInfo() を呼び出して、作業情報を直接使用します。

    • toString

      public StringSE toString()
      実行されたすべてのタスクを説明する有益な文字列を生成します

      カスタムレポートの場合は、getTaskInfo() を呼び出して、作業情報を直接使用します。

      オーバーライド:
      クラス ObjectSEtoString