이 카테고리에는 더 이상 글이 올라오지 않습니다.


별도의 개발 블로그를 열어 개발에 관련된 이야기는 블로그를 분리하였습니다.

만약 더 많은 개발 이야기가 보고 싶으시다면 아래 링크로 이동해 주세요.


link : Digital Blue Eye's dev-ops

#######################################################################################################



SpringFramework에서 지원하는 여러가지 유틸리티 중 StopWatch라는 유틸리티를 소개해 봅니다.

아마 아시는 분은 아실 듯 하기도 한데....


Application을 개발하다 보면 종종 속도를 측정해야 할 일이 있습니다.

네트워크 속도라던가... DB 처리 속도라던가... 로직 처리 속도라던가...


쉽게 확인하는 방법으로는 timestamp를 찍어서 확인하는 방법이 있는데, 보통은 시작시간, 종료시간을 각각 저장한 후 종료시간 - 시작시간으로 소요시간을 측정하고는 합니다.


이게 쉬우면서도 써먹기 귀찮은 방법이라는게 문제죠....

이런 고민을 SpringFramework의 StopWatch를 사용하면 간단히 해결할 수 있습니다.


StopWatch는 위에서 이야기한 내용을 쉽게 써먹을 수 있는 유틸리티 입니다.


사용은 아주 간단합니다.


StopWatch stopWatch = new StopWatch("측정 이름"); // 측정 이름은 보통 클래스 정도가 되겠죠?  
  
stopWatch.start("job 이름"); // stopWatch를 측정할 job 이름을 지정합니다. 메소드라던가... 측정하고 싶은 이름으로...  
  
// 요기부터 로직...  
  
stopWatch.stop();  
  
logger.debug(stopWatch.toString()); // 결과를 출력합니다.  


위와 같이 로직에 넣고 돌리면.... 


2015-02-09 14:50:15,727 DEBUG: [com.prompt.push.service.PushRequestAccountServiceImpl] StopWatch 'PushRequestAccountServiceImpl': running time (millis) = 1967584; [insertPushRequestAccountList] took 1967584 = 100%

 


요렇게 출력이 됩니다. 밀리세컨드 기준으로 소요 시간을 출력해 주죠.

stopWatch.getTotalTimeSeconds()를 사용하면 소요 시간을 초 단위로 출력해 주시도 합니다.


SpringFramework의 StopWatch를 이용한 로직 소요 시간을 간단히 측정하는 방법을 알아봤습니다.


많이들 활용하세요~

+ Recent posts