From 765b15e026f78e0f9c4b21357b41654cfd7c5149 Mon Sep 17 00:00:00 2001 From: ascrutae Date: Sat, 11 Mar 2017 16:14:13 +0800 Subject: [PATCH 1/5] fix tomcat span without peer host and peer port issue --- .../plugin/dubbo/DubboInterceptor.java | 4 +-- .../plugin/tomcat78x/TomcatInterceptor.java | 27 +++++++++++++++++++ 2 files changed, 29 insertions(+), 2 deletions(-) diff --git a/skywalking-sniffer/skywalking-sdk-plugin/dubbo-plugin/src/main/java/com/a/eye/skywalking/plugin/dubbo/DubboInterceptor.java b/skywalking-sniffer/skywalking-sdk-plugin/dubbo-plugin/src/main/java/com/a/eye/skywalking/plugin/dubbo/DubboInterceptor.java index 1ce09301f..c070bf887 100644 --- a/skywalking-sniffer/skywalking-sdk-plugin/dubbo-plugin/src/main/java/com/a/eye/skywalking/plugin/dubbo/DubboInterceptor.java +++ b/skywalking-sniffer/skywalking-sdk-plugin/dubbo-plugin/src/main/java/com/a/eye/skywalking/plugin/dubbo/DubboInterceptor.java @@ -55,10 +55,10 @@ public class DubboInterceptor implements InstanceMethodsAroundInterceptor { Tags.URL.set(span, generateRequestURL(requestURL, invocation)); Tags.COMPONENT.set(span, DUBBO_COMPONENT); Tags.SPAN_LAYER.asRPCFramework(span); + Tags.PEER_HOST.set(span, requestURL.getHost()); + Tags.PEER_PORT.set(span, requestURL.getPort()); if (isConsumer) { - Tags.PEER_HOST.set(span, requestURL.getHost()); - Tags.PEER_PORT.set(span, requestURL.getPort()); Tags.SPAN_KIND.set(span, Tags.SPAN_KIND_CLIENT); ContextCarrier contextCarrier = new ContextCarrier(); ContextManager.INSTANCE.inject(contextCarrier); diff --git a/skywalking-sniffer/skywalking-sdk-plugin/tomcat-7.x-8.x-plugin/src/main/java/com/a/eye/skywalking/plugin/tomcat78x/TomcatInterceptor.java b/skywalking-sniffer/skywalking-sdk-plugin/tomcat-7.x-8.x-plugin/src/main/java/com/a/eye/skywalking/plugin/tomcat78x/TomcatInterceptor.java index 07f518113..63592cfcd 100644 --- a/skywalking-sniffer/skywalking-sdk-plugin/tomcat-7.x-8.x-plugin/src/main/java/com/a/eye/skywalking/plugin/tomcat78x/TomcatInterceptor.java +++ b/skywalking-sniffer/skywalking-sdk-plugin/tomcat-7.x-8.x-plugin/src/main/java/com/a/eye/skywalking/plugin/tomcat78x/TomcatInterceptor.java @@ -43,6 +43,8 @@ public class TomcatInterceptor implements InstanceMethodsAroundInterceptor { Span span = ContextManager.INSTANCE.createSpan(request.getRequestURI()); Tags.COMPONENT.set(span, TOMCAT_COMPONENT); + Tags.PEER_HOST.set(span, fetchRequestPeerHost(request)); + Tags.PEER_PORT.set(span, request.getRemotePort()); Tags.SPAN_KIND.set(span, Tags.SPAN_KIND_SERVER); Tags.URL.set(span, request.getRequestURL().toString()); Tags.SPAN_LAYER.asHttp(span); @@ -76,4 +78,29 @@ public class TomcatInterceptor implements InstanceMethodsAroundInterceptor { Tags.ERROR.set(span, true); } + /** + * + * @param request + * @return + */ + public String fetchRequestPeerHost(HttpServletRequest request) { + String ip = request.getHeader("X-Forwarded-For"); + if (ip == null || ip.length() == 0 || "unknown".equalsIgnoreCase(ip)) { + ip = request.getHeader("Proxy-Client-IP"); + } + if (ip == null || ip.length() == 0 || "unknown".equalsIgnoreCase(ip)) { + ip = request.getHeader("WL-Proxy-Client-IP"); + } + if (ip == null || ip.length() == 0 || "unknown".equalsIgnoreCase(ip)) { + ip = request.getHeader("HTTP_CLIENT_IP"); + } + if (ip == null || ip.length() == 0 || "unknown".equalsIgnoreCase(ip)) { + ip = request.getHeader("HTTP_X_FORWARDED_FOR"); + } + if (ip == null || ip.length() == 0 || "unknown".equalsIgnoreCase(ip)) { + ip = request.getRemoteAddr(); + } + return ip; + } + } From e3e2591d33343f915b0aa6b916ae8a9a7950b83d Mon Sep 17 00:00:00 2001 From: ascrutae Date: Sat, 11 Mar 2017 16:26:24 +0800 Subject: [PATCH 2/5] fix operation name of jdbc plugin issue --- .../a/eye/skywalking/plugin/jdbc/CallableStatementTracing.java | 2 +- .../com/a/eye/skywalking/plugin/jdbc/ConnectionTracing.java | 2 +- .../a/eye/skywalking/plugin/jdbc/PreparedStatementTracing.java | 2 +- .../java/com/a/eye/skywalking/plugin/jdbc/StatementTracing.java | 2 +- 4 files changed, 4 insertions(+), 4 deletions(-) diff --git a/skywalking-sniffer/skywalking-sdk-plugin/jdbc-plugin/src/main/java/com/a/eye/skywalking/plugin/jdbc/CallableStatementTracing.java b/skywalking-sniffer/skywalking-sdk-plugin/jdbc-plugin/src/main/java/com/a/eye/skywalking/plugin/jdbc/CallableStatementTracing.java index a0633b121..1fb3a011b 100644 --- a/skywalking-sniffer/skywalking-sdk-plugin/jdbc-plugin/src/main/java/com/a/eye/skywalking/plugin/jdbc/CallableStatementTracing.java +++ b/skywalking-sniffer/skywalking-sdk-plugin/jdbc-plugin/src/main/java/com/a/eye/skywalking/plugin/jdbc/CallableStatementTracing.java @@ -22,7 +22,7 @@ public class CallableStatementTracing { ConnectionInfo connectInfo, String method, String sql, Executable exec) throws SQLException { try { - Span span = ContextManager.INSTANCE.createSpan("JDBC/CallableStatement/" + method); + Span span = ContextManager.INSTANCE.createSpan(connectInfo.getDBType() + "/JDBI/CallableStatement/" + method); Tags.DB_TYPE.set(span, "sql"); Tags.DB_INSTANCE.set(span, connectInfo.getDatabaseName()); Tags.DB_STATEMENT.set(span, sql); diff --git a/skywalking-sniffer/skywalking-sdk-plugin/jdbc-plugin/src/main/java/com/a/eye/skywalking/plugin/jdbc/ConnectionTracing.java b/skywalking-sniffer/skywalking-sdk-plugin/jdbc-plugin/src/main/java/com/a/eye/skywalking/plugin/jdbc/ConnectionTracing.java index 62fb7f9c1..8ef0c6bfd 100755 --- a/skywalking-sniffer/skywalking-sdk-plugin/jdbc-plugin/src/main/java/com/a/eye/skywalking/plugin/jdbc/ConnectionTracing.java +++ b/skywalking-sniffer/skywalking-sdk-plugin/jdbc-plugin/src/main/java/com/a/eye/skywalking/plugin/jdbc/ConnectionTracing.java @@ -22,7 +22,7 @@ public class ConnectionTracing { ConnectionInfo connectInfo, String method, String sql, Executable exec) throws SQLException { try { - Span span = ContextManager.INSTANCE.createSpan("JDBC/Connection/" + method); + Span span = ContextManager.INSTANCE.createSpan(connectInfo.getDBType() + "/JDBI/Connection/" + method); Tags.DB_TYPE.set(span, "sql"); Tags.DB_INSTANCE.set(span, connectInfo.getDatabaseName()); Tags.DB_STATEMENT.set(span, sql); diff --git a/skywalking-sniffer/skywalking-sdk-plugin/jdbc-plugin/src/main/java/com/a/eye/skywalking/plugin/jdbc/PreparedStatementTracing.java b/skywalking-sniffer/skywalking-sdk-plugin/jdbc-plugin/src/main/java/com/a/eye/skywalking/plugin/jdbc/PreparedStatementTracing.java index 8823721be..5dc8ceb0e 100644 --- a/skywalking-sniffer/skywalking-sdk-plugin/jdbc-plugin/src/main/java/com/a/eye/skywalking/plugin/jdbc/PreparedStatementTracing.java +++ b/skywalking-sniffer/skywalking-sdk-plugin/jdbc-plugin/src/main/java/com/a/eye/skywalking/plugin/jdbc/PreparedStatementTracing.java @@ -21,7 +21,7 @@ public class PreparedStatementTracing { ConnectionInfo connectInfo, String method, String sql, Executable exec) throws SQLException { try { - Span span = ContextManager.INSTANCE.createSpan("JDBC/PreparedStatement/" + method); + Span span = ContextManager.INSTANCE.createSpan(connectInfo.getDBType() + "/JDBI/PreparedStatement/" + method); Tags.DB_TYPE.set(span, "sql"); Tags.DB_INSTANCE.set(span, connectInfo.getDatabaseName()); Tags.DB_STATEMENT.set(span, sql); diff --git a/skywalking-sniffer/skywalking-sdk-plugin/jdbc-plugin/src/main/java/com/a/eye/skywalking/plugin/jdbc/StatementTracing.java b/skywalking-sniffer/skywalking-sdk-plugin/jdbc-plugin/src/main/java/com/a/eye/skywalking/plugin/jdbc/StatementTracing.java index 364422340..0c6723bb9 100644 --- a/skywalking-sniffer/skywalking-sdk-plugin/jdbc-plugin/src/main/java/com/a/eye/skywalking/plugin/jdbc/StatementTracing.java +++ b/skywalking-sniffer/skywalking-sdk-plugin/jdbc-plugin/src/main/java/com/a/eye/skywalking/plugin/jdbc/StatementTracing.java @@ -21,7 +21,7 @@ public class StatementTracing { ConnectionInfo connectInfo, String method, String sql, Executable exec) throws SQLException { try { - Span span = ContextManager.INSTANCE.createSpan("JDBC/Statement/" + method); + Span span = ContextManager.INSTANCE.createSpan(connectInfo.getDBType() + "/JDBI/Statement/" + method); Tags.DB_TYPE.set(span, "sql"); Tags.DB_INSTANCE.set(span, connectInfo.getDatabaseName()); Tags.DB_STATEMENT.set(span, sql); From d8d916a29bf68e9996e0cfe188a0d6c4bc17792b Mon Sep 17 00:00:00 2001 From: ascrutae Date: Sat, 11 Mar 2017 16:34:15 +0800 Subject: [PATCH 3/5] fix test failure issue --- .../plugin/jdbc/SWCallableStatementTest.java | 26 ++++++++-------- .../plugin/jdbc/SWConnectionTest.java | 30 +++++++++---------- .../plugin/jdbc/SWStatementTest.java | 22 +++++++------- .../plugin/jdbc/SwPreparedStatementTest.java | 26 ++++++++-------- 4 files changed, 52 insertions(+), 52 deletions(-) diff --git a/skywalking-sniffer/skywalking-sdk-plugin/jdbc-plugin/src/test/java/com/a/eye/skywalking/plugin/jdbc/SWCallableStatementTest.java b/skywalking-sniffer/skywalking-sdk-plugin/jdbc-plugin/src/test/java/com/a/eye/skywalking/plugin/jdbc/SWCallableStatementTest.java index 1861eceba..a2c9f47c8 100644 --- a/skywalking-sniffer/skywalking-sdk-plugin/jdbc-plugin/src/test/java/com/a/eye/skywalking/plugin/jdbc/SWCallableStatementTest.java +++ b/skywalking-sniffer/skywalking-sdk-plugin/jdbc-plugin/src/test/java/com/a/eye/skywalking/plugin/jdbc/SWCallableStatementTest.java @@ -463,7 +463,7 @@ public class SWCallableStatementTest extends AbstractStatementTest { public void call(TraceSegment traceSegment) { assertThat(traceSegment.getSpans().size(), is(1)); Span span = traceSegment.getSpans().get(0); - assertDBSpan(span, "JDBC/CallableStatement/executeQuery", "SELECT * FROM test"); + assertDBSpan(span, "Mysql/JDBI/CallableStatement/executeQuery", "SELECT * FROM test"); } }); } @@ -484,7 +484,7 @@ public class SWCallableStatementTest extends AbstractStatementTest { public void call(TraceSegment traceSegment) { assertThat(traceSegment.getSpans().size(), is(1)); Span span = traceSegment.getSpans().get(0); - assertDBSpan(span, "JDBC/CallableStatement/executeQuery", "SELECT * FROM test"); + assertDBSpan(span, "Mysql/JDBI/CallableStatement/executeQuery", "SELECT * FROM test"); } }); } @@ -503,7 +503,7 @@ public class SWCallableStatementTest extends AbstractStatementTest { public void call(TraceSegment traceSegment) { assertThat(traceSegment.getSpans().size(), is(1)); Span span = traceSegment.getSpans().get(0); - assertDBSpan(span, "JDBC/CallableStatement/execute", "INSERT INTO test VALUES(1)"); + assertDBSpan(span, "Mysql/JDBI/CallableStatement/execute", "INSERT INTO test VALUES(1)"); } }); } @@ -521,7 +521,7 @@ public class SWCallableStatementTest extends AbstractStatementTest { public void call(TraceSegment traceSegment) { assertThat(traceSegment.getSpans().size(), is(1)); Span span = traceSegment.getSpans().get(0); - assertDBSpan(span, "JDBC/CallableStatement/execute", "INSERT INTO test VALUES(1)"); + assertDBSpan(span, "Mysql/JDBI/CallableStatement/execute", "INSERT INTO test VALUES(1)"); } }); } @@ -539,7 +539,7 @@ public class SWCallableStatementTest extends AbstractStatementTest { public void call(TraceSegment traceSegment) { assertThat(traceSegment.getSpans().size(), is(1)); Span span = traceSegment.getSpans().get(0); - assertDBSpan(span, "JDBC/CallableStatement/execute", "INSERT INTO test VALUES(1)"); + assertDBSpan(span, "Mysql/JDBI/CallableStatement/execute", "INSERT INTO test VALUES(1)"); } }); } @@ -560,7 +560,7 @@ public class SWCallableStatementTest extends AbstractStatementTest { public void call(TraceSegment traceSegment) { assertThat(traceSegment.getSpans().size(), is(1)); Span span = traceSegment.getSpans().get(0); - assertDBSpan(span, "JDBC/CallableStatement/execute", "UPDATE test SET a = 1"); + assertDBSpan(span, "Mysql/JDBI/CallableStatement/execute", "UPDATE test SET a = 1"); } }); } @@ -581,7 +581,7 @@ public class SWCallableStatementTest extends AbstractStatementTest { public void call(TraceSegment traceSegment) { assertThat(traceSegment.getSpans().size(), is(1)); Span span = traceSegment.getSpans().get(0); - assertDBSpan(span, "JDBC/CallableStatement/executeUpdate", "UPDATE test SET a = ?"); + assertDBSpan(span, "Mysql/JDBI/CallableStatement/executeUpdate", "UPDATE test SET a = ?"); } }); } @@ -602,7 +602,7 @@ public class SWCallableStatementTest extends AbstractStatementTest { public void call(TraceSegment traceSegment) { assertThat(traceSegment.getSpans().size(), is(1)); Span span = traceSegment.getSpans().get(0); - assertDBSpan(span, "JDBC/CallableStatement/executeUpdate", "UPDATE test SET a = 1"); + assertDBSpan(span, "Mysql/JDBI/CallableStatement/executeUpdate", "UPDATE test SET a = 1"); } }); } @@ -622,7 +622,7 @@ public class SWCallableStatementTest extends AbstractStatementTest { public void call(TraceSegment traceSegment) { assertThat(traceSegment.getSpans().size(), is(1)); Span span = traceSegment.getSpans().get(0); - assertDBSpan(span, "JDBC/CallableStatement/executeUpdate", "UPDATE test SET a = 1"); + assertDBSpan(span, "Mysql/JDBI/CallableStatement/executeUpdate", "UPDATE test SET a = 1"); } }); } @@ -642,7 +642,7 @@ public class SWCallableStatementTest extends AbstractStatementTest { public void call(TraceSegment traceSegment) { assertThat(traceSegment.getSpans().size(), is(1)); Span span = traceSegment.getSpans().get(0); - assertDBSpan(span, "JDBC/CallableStatement/executeUpdate", "UPDATE test SET a = 1"); + assertDBSpan(span, "Mysql/JDBI/CallableStatement/executeUpdate", "UPDATE test SET a = 1"); } }); } @@ -662,7 +662,7 @@ public class SWCallableStatementTest extends AbstractStatementTest { public void call(TraceSegment traceSegment) { assertThat(traceSegment.getSpans().size(), is(1)); Span span = traceSegment.getSpans().get(0); - assertDBSpan(span, "JDBC/CallableStatement/executeUpdate", "UPDATE test SET a = 1"); + assertDBSpan(span, "Mysql/JDBI/CallableStatement/executeUpdate", "UPDATE test SET a = 1"); } }); } @@ -687,7 +687,7 @@ public class SWCallableStatementTest extends AbstractStatementTest { public void call(TraceSegment traceSegment) { assertThat(traceSegment.getSpans().size(), is(1)); Span span = traceSegment.getSpans().get(0); - assertDBSpan(span, "JDBC/CallableStatement/executeBatch", ""); + assertDBSpan(span, "Mysql/JDBI/CallableStatement/executeBatch", ""); } }); } @@ -736,7 +736,7 @@ public class SWCallableStatementTest extends AbstractStatementTest { public void call(TraceSegment traceSegment) { assertThat(traceSegment.getSpans().size(), is(1)); Span span = traceSegment.getSpans().get(0); - assertDBSpan(span, "JDBC/CallableStatement/executeQuery", "SELECT * FROM test WHERE a = ? or b = ? or c=? or d = ? or e=?"); + assertDBSpan(span, "Mysql/JDBI/CallableStatement/executeQuery", "SELECT * FROM test WHERE a = ? or b = ? or c=? or d = ? or e=?"); assertThat(span.getLogs().size(), is(1)); assertDBSpanLog(span.getLogs().get(0)); } diff --git a/skywalking-sniffer/skywalking-sdk-plugin/jdbc-plugin/src/test/java/com/a/eye/skywalking/plugin/jdbc/SWConnectionTest.java b/skywalking-sniffer/skywalking-sdk-plugin/jdbc-plugin/src/test/java/com/a/eye/skywalking/plugin/jdbc/SWConnectionTest.java index 59e47a966..cb42ceab1 100644 --- a/skywalking-sniffer/skywalking-sdk-plugin/jdbc-plugin/src/test/java/com/a/eye/skywalking/plugin/jdbc/SWConnectionTest.java +++ b/skywalking-sniffer/skywalking-sdk-plugin/jdbc-plugin/src/test/java/com/a/eye/skywalking/plugin/jdbc/SWConnectionTest.java @@ -66,7 +66,7 @@ public class SWConnectionTest extends AbstractStatementTest { @Override public void call(TraceSegment traceSegment) { assertThat(traceSegment.getSpans().size(), is(1)); - assertDBSpan(traceSegment.getSpans().get(0), "JDBC/Connection/commit"); + assertDBSpan(traceSegment.getSpans().get(0), "Mysql/JDBI/Connection/commit"); } }); } @@ -81,7 +81,7 @@ public class SWConnectionTest extends AbstractStatementTest { @Override public void call(TraceSegment traceSegment) { assertThat(traceSegment.getSpans().size(), is(1)); - assertDBSpan(traceSegment.getSpans().get(0), "JDBC/Connection/commit"); + assertDBSpan(traceSegment.getSpans().get(0), "Mysql/JDBI/Connection/commit"); } }); } @@ -98,7 +98,7 @@ public class SWConnectionTest extends AbstractStatementTest { @Override public void call(TraceSegment traceSegment) { assertThat(traceSegment.getSpans().size(), is(1)); - assertDBSpan(traceSegment.getSpans().get(0), "JDBC/Connection/commit"); + assertDBSpan(traceSegment.getSpans().get(0), "Mysql/JDBI/Connection/commit"); assertDBSpanLog(traceSegment.getSpans().get(0).getLogs().get(0)); } }); @@ -115,7 +115,7 @@ public class SWConnectionTest extends AbstractStatementTest { @Override public void call(TraceSegment traceSegment) { assertThat(traceSegment.getSpans().size(), is(1)); - assertDBSpan(traceSegment.getSpans().get(0), "JDBC/Connection/rollback"); + assertDBSpan(traceSegment.getSpans().get(0), "Mysql/JDBI/Connection/rollback"); } }); @@ -131,7 +131,7 @@ public class SWConnectionTest extends AbstractStatementTest { @Override public void call(TraceSegment traceSegment) { assertThat(traceSegment.getSpans().size(), is(1)); - assertDBSpan(traceSegment.getSpans().get(0), "JDBC/Connection/rollback"); + assertDBSpan(traceSegment.getSpans().get(0), "Mysql/JDBI/Connection/rollback"); } }); } @@ -147,7 +147,7 @@ public class SWConnectionTest extends AbstractStatementTest { @Override public void call(TraceSegment traceSegment) { assertThat(traceSegment.getSpans().size(), is(1)); - assertDBSpan(traceSegment.getSpans().get(0), "JDBC/Connection/rollback"); + assertDBSpan(traceSegment.getSpans().get(0), "Mysql/JDBI/Connection/rollback"); } }); } @@ -162,7 +162,7 @@ public class SWConnectionTest extends AbstractStatementTest { @Override public void call(TraceSegment traceSegment) { assertThat(traceSegment.getSpans().size(), is(1)); - assertDBSpan(traceSegment.getSpans().get(0), "JDBC/Connection/rollback to savepoint"); + assertDBSpan(traceSegment.getSpans().get(0), "Mysql/JDBI/Connection/rollback to savepoint"); } }); } @@ -176,7 +176,7 @@ public class SWConnectionTest extends AbstractStatementTest { @Override public void call(TraceSegment traceSegment) { assertThat(traceSegment.getSpans().size(), is(1)); - assertDBSpan(traceSegment.getSpans().get(0), "JDBC/Connection/rollback to savepoint"); + assertDBSpan(traceSegment.getSpans().get(0), "Mysql/JDBI/Connection/rollback to savepoint"); } }); } @@ -192,7 +192,7 @@ public class SWConnectionTest extends AbstractStatementTest { @Override public void call(TraceSegment traceSegment) { assertThat(traceSegment.getSpans().size(), is(1)); - assertDBSpan(traceSegment.getSpans().get(0), "JDBC/Connection/rollback to savepoint"); + assertDBSpan(traceSegment.getSpans().get(0), "Mysql/JDBI/Connection/rollback to savepoint"); assertDBSpanLog(traceSegment.getSpans().get(0).getLogs().get(0)); } }); @@ -208,7 +208,7 @@ public class SWConnectionTest extends AbstractStatementTest { @Override public void call(TraceSegment traceSegment) { assertThat(traceSegment.getSpans().size(), is(1)); - assertDBSpan(traceSegment.getSpans().get(0), "JDBC/Connection/close"); + assertDBSpan(traceSegment.getSpans().get(0), "Mysql/JDBI/Connection/close"); } }); } @@ -222,7 +222,7 @@ public class SWConnectionTest extends AbstractStatementTest { @Override public void call(TraceSegment traceSegment) { assertThat(traceSegment.getSpans().size(), is(1)); - assertDBSpan(traceSegment.getSpans().get(0), "JDBC/Connection/close"); + assertDBSpan(traceSegment.getSpans().get(0), "Mysql/JDBI/Connection/close"); } }); } @@ -238,7 +238,7 @@ public class SWConnectionTest extends AbstractStatementTest { @Override public void call(TraceSegment traceSegment) { assertThat(traceSegment.getSpans().size(), is(1)); - assertDBSpan(traceSegment.getSpans().get(0), "JDBC/Connection/close"); + assertDBSpan(traceSegment.getSpans().get(0), "Mysql/JDBI/Connection/close"); assertDBSpanLog(traceSegment.getSpans().get(0).getLogs().get(0)); } }); @@ -255,7 +255,7 @@ public class SWConnectionTest extends AbstractStatementTest { @Override public void call(TraceSegment traceSegment) { assertThat(traceSegment.getSpans().size(), is(1)); - assertDBSpan(traceSegment.getSpans().get(0), "JDBC/Connection/releaseSavepoint savepoint"); + assertDBSpan(traceSegment.getSpans().get(0), "Mysql/JDBI/Connection/releaseSavepoint savepoint"); } }); } @@ -269,7 +269,7 @@ public class SWConnectionTest extends AbstractStatementTest { @Override public void call(TraceSegment traceSegment) { assertThat(traceSegment.getSpans().size(), is(1)); - assertDBSpan(traceSegment.getSpans().get(0), "JDBC/Connection/releaseSavepoint savepoint"); + assertDBSpan(traceSegment.getSpans().get(0), "Mysql/JDBI/Connection/releaseSavepoint savepoint"); } }); } @@ -285,7 +285,7 @@ public class SWConnectionTest extends AbstractStatementTest { @Override public void call(TraceSegment traceSegment) { assertThat(traceSegment.getSpans().size(), is(1)); - assertDBSpan(traceSegment.getSpans().get(0), "JDBC/Connection/releaseSavepoint savepoint"); + assertDBSpan(traceSegment.getSpans().get(0), "Mysql/JDBI/Connection/releaseSavepoint savepoint"); assertDBSpanLog(traceSegment.getSpans().get(0).getLogs().get(0)); } }); diff --git a/skywalking-sniffer/skywalking-sdk-plugin/jdbc-plugin/src/test/java/com/a/eye/skywalking/plugin/jdbc/SWStatementTest.java b/skywalking-sniffer/skywalking-sdk-plugin/jdbc-plugin/src/test/java/com/a/eye/skywalking/plugin/jdbc/SWStatementTest.java index fe8738c9e..39d5bd12d 100644 --- a/skywalking-sniffer/skywalking-sdk-plugin/jdbc-plugin/src/test/java/com/a/eye/skywalking/plugin/jdbc/SWStatementTest.java +++ b/skywalking-sniffer/skywalking-sdk-plugin/jdbc-plugin/src/test/java/com/a/eye/skywalking/plugin/jdbc/SWStatementTest.java @@ -123,7 +123,7 @@ public class SWStatementTest extends AbstractStatementTest { public void call(TraceSegment traceSegment) { assertThat(traceSegment.getSpans().size(), is(1)); Span span = traceSegment.getSpans().get(0); - assertDBSpan(span, "JDBC/Statement/execute", "SELECT * FROM test"); + assertDBSpan(span, "Mysql/JDBI/Statement/execute", "SELECT * FROM test"); } }); } @@ -139,7 +139,7 @@ public class SWStatementTest extends AbstractStatementTest { public void call(TraceSegment traceSegment) { assertThat(traceSegment.getSpans().size(), is(1)); Span span = traceSegment.getSpans().get(0); - assertDBSpan(span, "JDBC/Statement/execute", "SELECT * FROM test"); + assertDBSpan(span, "Mysql/JDBI/Statement/execute", "SELECT * FROM test"); } }); } @@ -155,7 +155,7 @@ public class SWStatementTest extends AbstractStatementTest { public void call(TraceSegment traceSegment) { assertThat(traceSegment.getSpans().size(), is(1)); Span span = traceSegment.getSpans().get(0); - assertDBSpan(span, "JDBC/Statement/executeQuery", "SELECT * FROM test"); + assertDBSpan(span, "Mysql/JDBI/Statement/executeQuery", "SELECT * FROM test"); } }); } @@ -171,7 +171,7 @@ public class SWStatementTest extends AbstractStatementTest { public void call(TraceSegment traceSegment) { assertThat(traceSegment.getSpans().size(), is(1)); Span span = traceSegment.getSpans().get(0); - assertDBSpan(span, "JDBC/Statement/executeUpdate", "UPDATE test SET a = 1"); + assertDBSpan(span, "Mysql/JDBI/Statement/executeUpdate", "UPDATE test SET a = 1"); } }); } @@ -189,7 +189,7 @@ public class SWStatementTest extends AbstractStatementTest { public void call(TraceSegment traceSegment) { assertThat(traceSegment.getSpans().size(), is(1)); Span span = traceSegment.getSpans().get(0); - assertDBSpan(span, "JDBC/Statement/executeUpdate", "UPDATE test SET a = 1"); + assertDBSpan(span, "Mysql/JDBI/Statement/executeUpdate", "UPDATE test SET a = 1"); } }); } @@ -205,7 +205,7 @@ public class SWStatementTest extends AbstractStatementTest { public void call(TraceSegment traceSegment) { assertThat(traceSegment.getSpans().size(), is(1)); Span span = traceSegment.getSpans().get(0); - assertDBSpan(span, "JDBC/Statement/executeUpdate", "UPDATE test SET a = 1"); + assertDBSpan(span, "Mysql/JDBI/Statement/executeUpdate", "UPDATE test SET a = 1"); } }); } @@ -221,7 +221,7 @@ public class SWStatementTest extends AbstractStatementTest { public void call(TraceSegment traceSegment) { assertThat(traceSegment.getSpans().size(), is(1)); Span span = traceSegment.getSpans().get(0); - assertDBSpan(span, "JDBC/Statement/executeUpdate", "UPDATE test SET a = 1"); + assertDBSpan(span, "Mysql/JDBI/Statement/executeUpdate", "UPDATE test SET a = 1"); } }); } @@ -237,7 +237,7 @@ public class SWStatementTest extends AbstractStatementTest { public void call(TraceSegment traceSegment) { assertThat(traceSegment.getSpans().size(), is(1)); Span span = traceSegment.getSpans().get(0); - assertDBSpan(span, "JDBC/Statement/execute", "UPDATE test SET a = 1"); + assertDBSpan(span, "Mysql/JDBI/Statement/execute", "UPDATE test SET a = 1"); } }); } @@ -253,7 +253,7 @@ public class SWStatementTest extends AbstractStatementTest { public void call(TraceSegment traceSegment) { assertThat(traceSegment.getSpans().size(), is(1)); Span span = traceSegment.getSpans().get(0); - assertDBSpan(span, "JDBC/Statement/execute", "UPDATE test SET a = 1"); + assertDBSpan(span, "Mysql/JDBI/Statement/execute", "UPDATE test SET a = 1"); } }); } @@ -275,7 +275,7 @@ public class SWStatementTest extends AbstractStatementTest { public void call(TraceSegment traceSegment) { assertThat(traceSegment.getSpans().size(), is(1)); Span span = traceSegment.getSpans().get(0); - assertDBSpan(span, "JDBC/Statement/executeBatch", ""); + assertDBSpan(span, "Mysql/JDBI/Statement/executeBatch", ""); } }); } @@ -294,7 +294,7 @@ public class SWStatementTest extends AbstractStatementTest { public void call(TraceSegment traceSegment) { assertThat(traceSegment.getSpans().size(), is(1)); Span span = traceSegment.getSpans().get(0); - assertDBSpan(span, "JDBC/Statement/execute", "UPDATE test SET a = 1 WHERE b = 2"); + assertDBSpan(span, "Mysql/JDBI/Statement/execute", "UPDATE test SET a = 1 WHERE b = 2"); assertThat(span.getLogs().size(), is(1)); assertDBSpanLog(span.getLogs().get(0)); } diff --git a/skywalking-sniffer/skywalking-sdk-plugin/jdbc-plugin/src/test/java/com/a/eye/skywalking/plugin/jdbc/SwPreparedStatementTest.java b/skywalking-sniffer/skywalking-sdk-plugin/jdbc-plugin/src/test/java/com/a/eye/skywalking/plugin/jdbc/SwPreparedStatementTest.java index f2c6822bb..d07472ee9 100644 --- a/skywalking-sniffer/skywalking-sdk-plugin/jdbc-plugin/src/test/java/com/a/eye/skywalking/plugin/jdbc/SwPreparedStatementTest.java +++ b/skywalking-sniffer/skywalking-sdk-plugin/jdbc-plugin/src/test/java/com/a/eye/skywalking/plugin/jdbc/SwPreparedStatementTest.java @@ -293,7 +293,7 @@ public class SwPreparedStatementTest extends AbstractStatementTest { public void call(TraceSegment traceSegment) { assertThat(traceSegment.getSpans().size(), is(1)); Span span = traceSegment.getSpans().get(0); - assertDBSpan(span, "JDBC/PreparedStatement/executeQuery", "SELECT * FROM test"); + assertDBSpan(span, "Mysql/JDBI/PreparedStatement/executeQuery", "SELECT * FROM test"); } }); } @@ -314,7 +314,7 @@ public class SwPreparedStatementTest extends AbstractStatementTest { public void call(TraceSegment traceSegment) { assertThat(traceSegment.getSpans().size(), is(1)); Span span = traceSegment.getSpans().get(0); - assertDBSpan(span, "JDBC/PreparedStatement/executeQuery", "SELECT * FROM test"); + assertDBSpan(span, "Mysql/JDBI/PreparedStatement/executeQuery", "SELECT * FROM test"); } }); } @@ -333,7 +333,7 @@ public class SwPreparedStatementTest extends AbstractStatementTest { public void call(TraceSegment traceSegment) { assertThat(traceSegment.getSpans().size(), is(1)); Span span = traceSegment.getSpans().get(0); - assertDBSpan(span, "JDBC/PreparedStatement/execute", "INSERT INTO test VALUES(1)"); + assertDBSpan(span, "Mysql/JDBI/PreparedStatement/execute", "INSERT INTO test VALUES(1)"); } }); } @@ -351,7 +351,7 @@ public class SwPreparedStatementTest extends AbstractStatementTest { public void call(TraceSegment traceSegment) { assertThat(traceSegment.getSpans().size(), is(1)); Span span = traceSegment.getSpans().get(0); - assertDBSpan(span, "JDBC/PreparedStatement/execute", "INSERT INTO test VALUES(1)"); + assertDBSpan(span, "Mysql/JDBI/PreparedStatement/execute", "INSERT INTO test VALUES(1)"); } }); } @@ -369,7 +369,7 @@ public class SwPreparedStatementTest extends AbstractStatementTest { public void call(TraceSegment traceSegment) { assertThat(traceSegment.getSpans().size(), is(1)); Span span = traceSegment.getSpans().get(0); - assertDBSpan(span, "JDBC/PreparedStatement/execute", "INSERT INTO test VALUES(1)"); + assertDBSpan(span, "Mysql/JDBI/PreparedStatement/execute", "INSERT INTO test VALUES(1)"); } }); } @@ -390,7 +390,7 @@ public class SwPreparedStatementTest extends AbstractStatementTest { public void call(TraceSegment traceSegment) { assertThat(traceSegment.getSpans().size(), is(1)); Span span = traceSegment.getSpans().get(0); - assertDBSpan(span, "JDBC/PreparedStatement/execute", "UPDATE test SET a = 1"); + assertDBSpan(span, "Mysql/JDBI/PreparedStatement/execute", "UPDATE test SET a = 1"); } }); } @@ -411,7 +411,7 @@ public class SwPreparedStatementTest extends AbstractStatementTest { public void call(TraceSegment traceSegment) { assertThat(traceSegment.getSpans().size(), is(1)); Span span = traceSegment.getSpans().get(0); - assertDBSpan(span, "JDBC/PreparedStatement/executeUpdate", "UPDATE test SET a = ?"); + assertDBSpan(span, "Mysql/JDBI/PreparedStatement/executeUpdate", "UPDATE test SET a = ?"); } }); } @@ -432,7 +432,7 @@ public class SwPreparedStatementTest extends AbstractStatementTest { public void call(TraceSegment traceSegment) { assertThat(traceSegment.getSpans().size(), is(1)); Span span = traceSegment.getSpans().get(0); - assertDBSpan(span, "JDBC/PreparedStatement/executeUpdate", "UPDATE test SET a = 1"); + assertDBSpan(span, "Mysql/JDBI/PreparedStatement/executeUpdate", "UPDATE test SET a = 1"); } }); } @@ -452,7 +452,7 @@ public class SwPreparedStatementTest extends AbstractStatementTest { public void call(TraceSegment traceSegment) { assertThat(traceSegment.getSpans().size(), is(1)); Span span = traceSegment.getSpans().get(0); - assertDBSpan(span, "JDBC/PreparedStatement/executeUpdate", "UPDATE test SET a = 1"); + assertDBSpan(span, "Mysql/JDBI/PreparedStatement/executeUpdate", "UPDATE test SET a = 1"); } }); } @@ -472,7 +472,7 @@ public class SwPreparedStatementTest extends AbstractStatementTest { public void call(TraceSegment traceSegment) { assertThat(traceSegment.getSpans().size(), is(1)); Span span = traceSegment.getSpans().get(0); - assertDBSpan(span, "JDBC/PreparedStatement/executeUpdate", "UPDATE test SET a = 1"); + assertDBSpan(span, "Mysql/JDBI/PreparedStatement/executeUpdate", "UPDATE test SET a = 1"); } }); } @@ -492,7 +492,7 @@ public class SwPreparedStatementTest extends AbstractStatementTest { public void call(TraceSegment traceSegment) { assertThat(traceSegment.getSpans().size(), is(1)); Span span = traceSegment.getSpans().get(0); - assertDBSpan(span, "JDBC/PreparedStatement/executeUpdate", "UPDATE test SET a = 1"); + assertDBSpan(span, "Mysql/JDBI/PreparedStatement/executeUpdate", "UPDATE test SET a = 1"); } }); } @@ -517,7 +517,7 @@ public class SwPreparedStatementTest extends AbstractStatementTest { public void call(TraceSegment traceSegment) { assertThat(traceSegment.getSpans().size(), is(1)); Span span = traceSegment.getSpans().get(0); - assertDBSpan(span, "JDBC/PreparedStatement/executeBatch", ""); + assertDBSpan(span, "Mysql/JDBI/PreparedStatement/executeBatch", ""); } }); } @@ -568,7 +568,7 @@ public class SwPreparedStatementTest extends AbstractStatementTest { public void call(TraceSegment traceSegment) { assertThat(traceSegment.getSpans().size(), is(1)); Span span = traceSegment.getSpans().get(0); - assertDBSpan(span, "JDBC/PreparedStatement/executeQuery", "SELECT * FROM test WHERE a = ? or b = ? or c=? or d = ? or e=?"); + assertDBSpan(span, "Mysql/JDBI/PreparedStatement/executeQuery", "SELECT * FROM test WHERE a = ? or b = ? or c=? or d = ? or e=?"); assertThat(span.getLogs().size(), is(1)); assertDBSpanLog(span.getLogs().get(0)); } From 894cc4fd163641e7b69ad36b2f8169f60a2685fc Mon Sep 17 00:00:00 2001 From: ascrutae Date: Mon, 13 Mar 2017 23:45:25 +0800 Subject: [PATCH 4/5] fix tomcat cannot works issue --- skywalking-sniffer/skywalking-agent/pom.xml | 26 +++++++++++++++++---- 1 file changed, 22 insertions(+), 4 deletions(-) diff --git a/skywalking-sniffer/skywalking-agent/pom.xml b/skywalking-sniffer/skywalking-agent/pom.xml index 69a6b93c8..c32b311f0 100644 --- a/skywalking-sniffer/skywalking-agent/pom.xml +++ b/skywalking-sniffer/skywalking-agent/pom.xml @@ -26,8 +26,14 @@ ${shade.package}.${shade.akka.source} scala ${shade.package}.${shade.scala.source} - org - ${shade.package}.${shade.all.org.source} + org.agrona + ${shade.package}.${shade.org.agrona.source} + org.jboss.netty + ${shade.package}.${shade.org.jboss.netty.source} + org.reactivestreams + ${shade.package}.${shade.org.reactivestreams.source} + org.uncommons.maths + ${shade.package}.${shade.org.uncommons.maths.source} com.google ${shade.package}.${shade.com.google.source} io.aeron @@ -147,8 +153,20 @@ ${shade.com.google.target} - ${shade.all.org.source} - ${shade.all.org.target} + ${shade.org.agrona.source} + ${shade.org.agrona.target} + + + ${shade.org.jboss.netty.source} + ${shade.org.jboss.netty.target} + + + ${shade.org.reactivestreams.source} + ${shade.org.reactivestreams.target} + + + ${shade.org.uncommons.maths.source} + ${shade.org.uncommons.maths.target} ${shade.scala.source} From 3bbf370d8086cb54de3e2b071faf24ae872366bd Mon Sep 17 00:00:00 2001 From: ascrutae Date: Mon, 13 Mar 2017 23:50:25 +0800 Subject: [PATCH 5/5] fix test case issue --- .../a/eye/skywalking/plugin/jdbc/CallableStatementTracing.java | 2 +- .../com/a/eye/skywalking/plugin/jdbc/ConnectionTracing.java | 2 +- .../a/eye/skywalking/plugin/jdbc/PreparedStatementTracing.java | 2 +- .../java/com/a/eye/skywalking/plugin/jdbc/StatementTracing.java | 2 +- 4 files changed, 4 insertions(+), 4 deletions(-) diff --git a/skywalking-sniffer/skywalking-sdk-plugin/jdbc-plugin/src/main/java/com/a/eye/skywalking/plugin/jdbc/CallableStatementTracing.java b/skywalking-sniffer/skywalking-sdk-plugin/jdbc-plugin/src/main/java/com/a/eye/skywalking/plugin/jdbc/CallableStatementTracing.java index 1c1463577..797908dcd 100644 --- a/skywalking-sniffer/skywalking-sdk-plugin/jdbc-plugin/src/main/java/com/a/eye/skywalking/plugin/jdbc/CallableStatementTracing.java +++ b/skywalking-sniffer/skywalking-sdk-plugin/jdbc-plugin/src/main/java/com/a/eye/skywalking/plugin/jdbc/CallableStatementTracing.java @@ -22,7 +22,7 @@ public class CallableStatementTracing { ConnectionInfo connectInfo, String method, String sql, Executable exec) throws SQLException { try { - Span span = ContextManager.createSpan("JDBC/CallableStatement/" + method); + Span span = ContextManager.createSpan(connectInfo.getDBType() + "/JDBI/CallableStatement/" + method); Tags.DB_TYPE.set(span, "sql"); Tags.DB_INSTANCE.set(span, connectInfo.getDatabaseName()); Tags.DB_STATEMENT.set(span, sql); diff --git a/skywalking-sniffer/skywalking-sdk-plugin/jdbc-plugin/src/main/java/com/a/eye/skywalking/plugin/jdbc/ConnectionTracing.java b/skywalking-sniffer/skywalking-sdk-plugin/jdbc-plugin/src/main/java/com/a/eye/skywalking/plugin/jdbc/ConnectionTracing.java index 6bfb1706a..1b20172ac 100755 --- a/skywalking-sniffer/skywalking-sdk-plugin/jdbc-plugin/src/main/java/com/a/eye/skywalking/plugin/jdbc/ConnectionTracing.java +++ b/skywalking-sniffer/skywalking-sdk-plugin/jdbc-plugin/src/main/java/com/a/eye/skywalking/plugin/jdbc/ConnectionTracing.java @@ -22,7 +22,7 @@ public class ConnectionTracing { ConnectionInfo connectInfo, String method, String sql, Executable exec) throws SQLException { try { - Span span = ContextManager.createSpan("JDBC/Connection/" + method); + Span span = ContextManager.createSpan(connectInfo.getDBType() + "/JDBI/Connection/" + method); Tags.DB_TYPE.set(span, "sql"); Tags.DB_INSTANCE.set(span, connectInfo.getDatabaseName()); Tags.DB_STATEMENT.set(span, sql); diff --git a/skywalking-sniffer/skywalking-sdk-plugin/jdbc-plugin/src/main/java/com/a/eye/skywalking/plugin/jdbc/PreparedStatementTracing.java b/skywalking-sniffer/skywalking-sdk-plugin/jdbc-plugin/src/main/java/com/a/eye/skywalking/plugin/jdbc/PreparedStatementTracing.java index 09ca3c5e3..20f7fba3b 100644 --- a/skywalking-sniffer/skywalking-sdk-plugin/jdbc-plugin/src/main/java/com/a/eye/skywalking/plugin/jdbc/PreparedStatementTracing.java +++ b/skywalking-sniffer/skywalking-sdk-plugin/jdbc-plugin/src/main/java/com/a/eye/skywalking/plugin/jdbc/PreparedStatementTracing.java @@ -21,7 +21,7 @@ public class PreparedStatementTracing { ConnectionInfo connectInfo, String method, String sql, Executable exec) throws SQLException { try { - Span span = ContextManager.createSpan("JDBC/PreparedStatement/" + method); + Span span = ContextManager.createSpan(connectInfo.getDBType() + "/JDBI/PreparedStatement/" + method); Tags.DB_TYPE.set(span, "sql"); Tags.DB_INSTANCE.set(span, connectInfo.getDatabaseName()); Tags.DB_STATEMENT.set(span, sql); diff --git a/skywalking-sniffer/skywalking-sdk-plugin/jdbc-plugin/src/main/java/com/a/eye/skywalking/plugin/jdbc/StatementTracing.java b/skywalking-sniffer/skywalking-sdk-plugin/jdbc-plugin/src/main/java/com/a/eye/skywalking/plugin/jdbc/StatementTracing.java index 8d4776521..f421e0ad0 100644 --- a/skywalking-sniffer/skywalking-sdk-plugin/jdbc-plugin/src/main/java/com/a/eye/skywalking/plugin/jdbc/StatementTracing.java +++ b/skywalking-sniffer/skywalking-sdk-plugin/jdbc-plugin/src/main/java/com/a/eye/skywalking/plugin/jdbc/StatementTracing.java @@ -21,7 +21,7 @@ public class StatementTracing { ConnectionInfo connectInfo, String method, String sql, Executable exec) throws SQLException { try { - Span span = ContextManager.createSpan("JDBC/Statement/" + method); + Span span = ContextManager.createSpan(connectInfo.getDBType() + "/JDBI/Statement/" + method); Tags.DB_TYPE.set(span, "sql"); Tags.DB_INSTANCE.set(span, connectInfo.getDatabaseName()); Tags.DB_STATEMENT.set(span, sql);