-=-= 컴퓨터 =-=-/JAVA

로딩 타이머

자게남 2012. 11. 6. 14:47
화면 로딩 시간 체크용

화면 로딩시 3초 기준으로 판단



package *********;

/**
 * 
 * 
 * 1. Comment  : 화면 로딩시간 타이머
 * 2. FileName  : StopWatch.java
 * 3. Package  : TimeCount
 * 5. 작성일   : 2012. 11. 6. 오후 2:08:11
 * 
*/ public class StopWatch { long startTime; long elapsedTime = 0; StringBuffer currentName; boolean threadFlag = false; public StopWatch() { currentName = new StringBuffer(); startTime = System.nanoTime(); } public StopWatch(boolean threadFlag) { chageMessage("", false, false); } public StopWatch(String message) { chageMessage(message, false, true); } public StopWatch(String message, boolean threadFlag) { currentName = new StringBuffer(); startTime = System.nanoTime(); chageMessage(message, threadFlag, true); } public void chageMessage(String message, boolean threadFlag, boolean resetFlag) { StringBuffer threadName = new StringBuffer(); this.threadFlag = threadFlag; if(threadFlag){ threadName.append("ThreadName=").append(Thread.currentThread().getName()); } currentName.append("[").append(message).append(threadName).append("]"); if(resetFlag){ start(); } } public void start() { startTime = System.nanoTime(); elapsedTime = 0; } public void stop(){ elapsedTime = System.nanoTime()-startTime; } public double getElapsedMS(){ if(elapsedTime == 0){ stop(); } return elapsedTime/1000000.0; } public double getElpasedNano(){ if(elapsedTime == 0){ stop(); } return elapsedTime; } public String toString(){ if(elapsedTime==0) stop(); currentName.append("elapsed Time : ").append(elapsedTime/1000000.0).append("ms"); return currentName.toString(); } } 사용법 <%@ page import="******.util.StopWatch" %> <% StopWatch timer = new StopWatch("Class.method",true); %> 화면 소스 <% out.println(timer); %> 출력결과 [Class.methodThreadName=[ACTIVE] ExecuteThread: '0' for queue: 'weblogic.kernel.Default (self-tuning)']elapsed Time : 115.357769ms