しばらくの間System.nanoTime()
、コードの完了にかかる時間を測定するために使用しています。最近、これは私にとって大きな障害になっています。他に測定する方法はありますか?
私はEclipseでJavaを実行しています。
毎回入力するのが嫌いな場合は、時間を計るクラスを作成してください。
例 (私は非常に怠け者なので静的です。オブジェクトをインスタンス化したくない):
public static class CodeTimer{
static long start;
public static void start(){
start = System.nanoTime();
}
public static void end(){
System.out.println(System.nanoTime() - end);
//could easily change it to print out time in seconds, with some
//String before it, to return a value, etc.
}
}
これはメソッドとまったく同じですが、最初と最後System.nanoTime()
に入力するだけです。CodeTimer.start()
CodeTimer.end()
StatsD を試してみてください:
https://github.com/youdevise/java-statsd-client
README の例:
statsd.recordExecutionTime("bag", 25);
bag
時間を記録したい方法です。
import java.lang.management.ManagementFactory;
import java.lang.management.ThreadMXBean;
long time = ManagementFactory.getThreadMXBean().getThreadCpuTime(Thread.currentThread().getId())