성능과 튜닝/APM (AP 성능 측정)

Aspect J를 이용한 초간단 APM 만들기 (2)

Terry Cho 2009. 3. 20. 18:43
JMX를 이용하여 Thread 별 CPU 시간을 측정하는 방법

==
 ThreadMXBean mbThread = (ThreadMXBean) ManagementFactory.getThreadMXBean();
 
 long[] ids = mbThread.getAllThreadIds();
 for (long id: ids)
 {
  System.out.println(mbThread.getThreadInfo(id).getThreadName());
  System.out.println(" CPU Time(" + id+ ")" + mbThread.getThreadCpuTime(id));
  System.out.println(" User Time(" + id+ ")" + mbThread.getThreadCpuTime(id));
 }

==
AOP에서 before에서 자기 Thread의 CPU 시간을 저장한후 after에서 다시 측정하여 결과를 빼면 해당 메서드의 CPU  사용 시간을 측정할 수 있다.

참고 : 단위는 nano second ( /1000,000 = milisecond)