mirror of
https://github.com/wahyd4/pinpoint.git
synced 2026-08-23 11:46:46 +10:00
[강운덕] [LUCYSUS-1744] tracevariable 추가api를 별도 클래스로 추출.
git-svn-id: http://svn.bds.nhncorp.com/pe/hippo-tomcat-profiler/trunk@577 84d0f5b1-2673-498c-a247-62c4ff18d310
This commit is contained in:
@@ -45,7 +45,8 @@ public class MySQLStatementModifier extends AbstractModifier {
|
||||
if (logger.isLoggable(Level.INFO)) {
|
||||
logger.info("executeUpdate =" + executeUpdate);
|
||||
}
|
||||
addTraceData((JavaAssistClass) aClass);
|
||||
// TODO 아무래도 에러 체크를 Exception으로 변경하는게 좋을것 같음.
|
||||
aClass.addTraceVariable("__url", "__setUrl", "__getUrl", "java.lang.String");
|
||||
|
||||
|
||||
if (executeQuery && executeQuery) {
|
||||
@@ -54,23 +55,5 @@ public class MySQLStatementModifier extends AbstractModifier {
|
||||
return null;
|
||||
}
|
||||
|
||||
private void addTraceData(JavaAssistClass aClass) {
|
||||
try {
|
||||
ClassPool classPool1 = byteCodeInstrumentor.getClassPool();
|
||||
JavaAssistClass jc = (JavaAssistClass) aClass;
|
||||
CtClass ctClass = jc.getCtClass();
|
||||
CtClass string = classPool1.get("java.lang.String");
|
||||
CtField traceUrl = new CtField(string, "__url", ctClass);
|
||||
traceUrl.setModifiers(AccessFlag.PUBLIC);
|
||||
ctClass.addField(traceUrl);
|
||||
CtMethod setUrl = CtNewMethod.setter("__setUrl", traceUrl);
|
||||
ctClass.addMethod(setUrl);
|
||||
CtMethod getUrl = CtNewMethod.getter("__getUrl", traceUrl);
|
||||
ctClass.addMethod(getUrl);
|
||||
} catch (NotFoundException e) {
|
||||
e.printStackTrace(); //To change body of catch statement use File | Settings | File Templates.
|
||||
} catch (CannotCompileException e) {
|
||||
e.printStackTrace(); //To change body of catch statement use File | Settings | File Templates.
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
Reference in New Issue
Block a user