From fd81d1b397d4cae4bc0683ffe3b4ff1402e49917 Mon Sep 17 00:00:00 2001 From: Woonduk Kang Date: Thu, 25 Apr 2013 10:26:59 +0000 Subject: [PATCH] =?UTF-8?q?[=EA=B0=95=EC=9A=B4=EB=8D=95]=20[LUCYSUS-1744]?= =?UTF-8?q?=20preparedStatement=EC=83=9D=EC=84=B1=EC=9D=80=20=EB=8B=A4?= =?UTF-8?q?=EB=A5=B8=20thread=EC=97=90=EC=84=9C=EB=8F=84=20=ED=95=A0?= =?UTF-8?q?=EC=88=98=20=EC=9E=88=EC=9C=BC=EB=AF=80=EB=A1=9C=20traceContext?= =?UTF-8?q?=EB=82=B4=EC=97=90=EC=84=9C=20=ED=95=98=EB=A9=B4=20=EC=95=88?= =?UTF-8?q?=EB=90=A8.=20=20-=20remotecall=EC=97=90=20sampling=20flag:fasle?= =?UTF-8?q?=EB=A5=BC=20=EB=84=A3=EC=96=B4=EB=8F=84=20=EC=83=98=ED=94=8C?= =?UTF-8?q?=EB=A7=81=20=EB=8C=80=EC=83=81=EC=9D=B4=20=EB=90=98=EB=8A=94=20?= =?UTF-8?q?=EB=AC=B8=EC=A0=9C=EA=B0=80=20=EC=9E=88=EC=96=B4=20=EC=B6=94?= =?UTF-8?q?=EA=B0=80=20=EC=88=98=EC=A0=95=EC=9D=B4=20=ED=95=84=EC=9A=94?= =?UTF-8?q?=ED=95=A8.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit git-svn-id: http://svn.bds.nhncorp.com/pe/hippo-tomcat-profiler/trunk@1566 84d0f5b1-2673-498c-a247-62c4ff18d310 --- .../interceptor/Execute2MethodInterceptor.java | 2 +- .../interceptor/ExecuteMethodInterceptor.java | 3 +++ .../PreparedStatementCreateInterceptor.java | 13 ++++++------- .../StandardHostValveInvokeInterceptor.java | 3 ++- 4 files changed, 12 insertions(+), 9 deletions(-) diff --git a/src/main/java/com/profiler/modifier/connector/httpclient4/interceptor/Execute2MethodInterceptor.java b/src/main/java/com/profiler/modifier/connector/httpclient4/interceptor/Execute2MethodInterceptor.java index 04518759f..aa2b4e2b5 100644 --- a/src/main/java/com/profiler/modifier/connector/httpclient4/interceptor/Execute2MethodInterceptor.java +++ b/src/main/java/com/profiler/modifier/connector/httpclient4/interceptor/Execute2MethodInterceptor.java @@ -50,7 +50,7 @@ public class Execute2MethodInterceptor implements StaticAroundInterceptor, ByteC final boolean sampling = trace.canSampled(); if (!sampling) { if(isDebug) { - logger.debug("set Samplingflag= "); + logger.debug("set Sampling flag=false"); } request.addHeader(Header.HTTP_SAMPLED.toString(), SamplingFlagUtils.SAMPLING_RATE_FALSE); return; diff --git a/src/main/java/com/profiler/modifier/connector/httpclient4/interceptor/ExecuteMethodInterceptor.java b/src/main/java/com/profiler/modifier/connector/httpclient4/interceptor/ExecuteMethodInterceptor.java index c8ef93c2e..8da526aea 100644 --- a/src/main/java/com/profiler/modifier/connector/httpclient4/interceptor/ExecuteMethodInterceptor.java +++ b/src/main/java/com/profiler/modifier/connector/httpclient4/interceptor/ExecuteMethodInterceptor.java @@ -50,6 +50,9 @@ public class ExecuteMethodInterceptor implements StaticAroundInterceptor, ByteCo final HttpRequest request = (HttpRequest) args[1]; final boolean sampling = trace.canSampled(); if (!sampling) { + if(isDebug) { + logger.debug("set Sampling flag=false"); + } request.addHeader(Header.HTTP_SAMPLED.toString(), SamplingFlagUtils.SAMPLING_RATE_FALSE); return; } diff --git a/src/main/java/com/profiler/modifier/db/interceptor/PreparedStatementCreateInterceptor.java b/src/main/java/com/profiler/modifier/db/interceptor/PreparedStatementCreateInterceptor.java index 5bd5d2c41..a7d1a2db6 100644 --- a/src/main/java/com/profiler/modifier/db/interceptor/PreparedStatementCreateInterceptor.java +++ b/src/main/java/com/profiler/modifier/db/interceptor/PreparedStatementCreateInterceptor.java @@ -64,6 +64,12 @@ public class PreparedStatementCreateInterceptor implements StaticAroundIntercept logger.debug("internal jdbc scope. skip trace"); return; } + boolean success = InterceptorUtils.isSuccess(result); + if(success) { + // preparedStatement의 생성이 성공하였을 경우만 PreparedStatement에 databaseInfo를 세팅해야 한다. + DatabaseInfo databaseInfo = (DatabaseInfo) getUrl.invoke(target); + this.setUrl.invoke(result, databaseInfo); + } Trace trace = traceContext.currentTraceObject(); if (trace == null) { @@ -73,14 +79,7 @@ public class PreparedStatementCreateInterceptor implements StaticAroundIntercept String sql = (String) args[0]; // 성공하였을 때만 PreparedSteatement에 Parsing Result를 넣어야 한다. ParsingResult parsingResult = trace.recordSqlInfo(sql); - - boolean success = InterceptorUtils.isSuccess(result); if (success) { - - // preparedStatement의 생성이 성공하였을 경우만 PreparedStatement에 databaseInfo를 세팅해야 한다. - DatabaseInfo databaseInfo = (DatabaseInfo) getUrl.invoke(target); - this.setUrl.invoke(result, databaseInfo); - if (parsingResult != null) { this.setSql.invoke(result, parsingResult); } diff --git a/src/main/java/com/profiler/modifier/tomcat/interceptors/StandardHostValveInvokeInterceptor.java b/src/main/java/com/profiler/modifier/tomcat/interceptors/StandardHostValveInvokeInterceptor.java index ea17353cc..e1f083fd0 100644 --- a/src/main/java/com/profiler/modifier/tomcat/interceptors/StandardHostValveInvokeInterceptor.java +++ b/src/main/java/com/profiler/modifier/tomcat/interceptors/StandardHostValveInvokeInterceptor.java @@ -72,9 +72,10 @@ public class StandardHostValveInvokeInterceptor implements StaticAroundIntercept trace = traceContext.newTraceObject(); if (!trace.canSampled()){ logger.debug("TraceID not exist. camSampled is false. skip trace. requestUrl:{}, remoteAddr:{}", new Object[] {requestURL, remoteAddr }); + return; } else { if (isDebug) { - logger.debug("TraceID not exist. start new trace. requestUrl:{}, remoteAddr:{}", new Object[] { requestURL, remoteAddr }); + logger.debug("TraceID not exist. start new trace. traceId:{} requestUrl:{}, remoteAddr:{}", new Object[] { traceId, requestURL, remoteAddr }); } } }