사용자 도구

사이트 도구


java:btrace

차이

문서의 선택한 두 판 사이의 차이를 보여줍니다.

차이 보기로 링크

다음 판
이전 판
java:btrace [2013/01/28 22:24]
kwon37xi 새로 만듦
java:btrace [2020/06/03 14:30] (현재)
kwon37xi
줄 1: 줄 1:
 ====== BTrace ====== ====== BTrace ======
-  * [[http://kenai.com/projects/btrace|BTrace]]+  * [[http://kenai.com/projects/btrace|BTrace - old]] 
 +  * https://github.com/btraceio/btrace
   * Java 실행시간 코드 분석 툴   * Java 실행시간 코드 분석 툴
  
 +===== Tomcat에서 실행시 어디서 getSession을 호출하는지 찍어보는 예 =====
 +<code java>
 +import com.sun.btrace.annotations.*;
 +import static com.sun.btrace.BTraceUtils.*;
 +import static com.sun.btrace.BTraceUtils.Sys.*;
  
 +@BTrace
 +public class SessionCheck {
  
 +    @OnMethod(
 +            clazz="org.apache.catalina.connector.Request",
 +            method="getSession"
 +            )
 +    public static void showSessionRequest() {
 +        println("######################################################");
 +        jstack();
 +        println("$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$");
 +    }
 +}
 +</code>
 +
 +JVM의 PID를 확인한 뒤에
 +<code sh>
 +btrace [JVMPID] SessionCheck.java
 +</code>
 +==== 참조 ====
 +  * [[http://blog.benelog.net/viewer/2855201|Btrace로 DBCP의 connection정보를 모니터링 하기]]
 +  * [[http://eggboy.egloos.com/viewer/1866372|eggboy in concurrent world : BTrace - 1. 소개]]
 +
 +==== Redhat(Centos) 에서 이상 현상 ====
 +Readhat(Centos) 6.4에서 다음과 같은 오류를 내며 btrace가 실행이 안됐다.
 +<code>
 +Invalid path <pid> specified: 2/No such file or directory
 +</code>
 +''/usr/bin/btrace''가 존재하기 때문이며 실제로는 ''blktrace''라는 다른 프로그램을 실행시킨다. 따라서 ''$BTRACE_HOME/bin/btrace'' 명령을 명시적으로 실행할 것.
java/btrace.1359379446.txt.gz · 마지막으로 수정됨: 2013/01/28 22:24 저자 kwon37xi