1.完成JDBC驱动的追踪操作,包括connection、statement、preparedStatement、CallableStatement的JDBC相关操作。

2.追踪sql的execute操作,以及commit/rollback操作
This commit is contained in:
wusheng 2015-11-17 13:49:59 +08:00
parent 65ce7eba96
commit 2596de4306
3 changed files with 328 additions and 440 deletions

View File

@ -23,8 +23,8 @@ import java.sql.Time;
import java.sql.Timestamp;
import java.util.Calendar;
import com.ai.cloud.skywalking.plugin.jdbc.tracing.PreaparedStatementTracing;
import com.ai.cloud.skywalking.plugin.jdbc.tracing.PreaparedStatementTracing.Executable;
import com.ai.cloud.skywalking.plugin.jdbc.tracing.PreparedStatementTracing;
import com.ai.cloud.skywalking.plugin.jdbc.tracing.PreparedStatementTracing.Executable;
public class SWPreparedStatement implements PreparedStatement {
private SWConnection realConnection;
@ -42,7 +42,7 @@ public class SWPreparedStatement implements PreparedStatement {
}
public ResultSet executeQuery(String sql) throws SQLException {
return PreaparedStatementTracing.execute(realStatement, connectInfo, "executeQuery", sql, new Executable<ResultSet>() {
return PreparedStatementTracing.execute(realStatement, connectInfo, "executeQuery", sql, new Executable<ResultSet>() {
public ResultSet exe(java.sql.PreparedStatement realStatement, String sql)
throws SQLException {
return realStatement.executeQuery(sql);
@ -51,7 +51,7 @@ public class SWPreparedStatement implements PreparedStatement {
}
public int executeUpdate(String sql) throws SQLException {
return PreaparedStatementTracing.execute(realStatement, connectInfo, "executeUpdate", sql, new Executable<Integer>() {
return PreparedStatementTracing.execute(realStatement, connectInfo, "executeUpdate", sql, new Executable<Integer>() {
public Integer exe(java.sql.PreparedStatement realStatement, String sql)
throws SQLException {
return realStatement.executeUpdate(sql);
@ -108,7 +108,7 @@ public class SWPreparedStatement implements PreparedStatement {
}
public boolean execute(String sql) throws SQLException {
return PreaparedStatementTracing.execute(realStatement, connectInfo, "execute", sql, new Executable<Boolean>() {
return PreparedStatementTracing.execute(realStatement, connectInfo, "execute", sql, new Executable<Boolean>() {
public Boolean exe(java.sql.PreparedStatement realStatement, String sql)
throws SQLException {
return realStatement.execute(sql);
@ -161,7 +161,7 @@ public class SWPreparedStatement implements PreparedStatement {
}
public int[] executeBatch() throws SQLException {
return PreaparedStatementTracing.execute(realStatement, connectInfo, "executeBatch", "", new Executable<int[]>() {
return PreparedStatementTracing.execute(realStatement, connectInfo, "executeBatch", "", new Executable<int[]>() {
public int[] exe(java.sql.PreparedStatement realStatement, String sql)
throws SQLException {
return realStatement.executeBatch();
@ -183,7 +183,7 @@ public class SWPreparedStatement implements PreparedStatement {
public int executeUpdate(String sql, final int autoGeneratedKeys)
throws SQLException {
return PreaparedStatementTracing.execute(realStatement, connectInfo, "executeUpdate", sql, new Executable<Integer>() {
return PreparedStatementTracing.execute(realStatement, connectInfo, "executeUpdate", sql, new Executable<Integer>() {
public Integer exe(java.sql.PreparedStatement realStatement, String sql)
throws SQLException {
return realStatement.executeUpdate(sql, autoGeneratedKeys);
@ -193,7 +193,7 @@ public class SWPreparedStatement implements PreparedStatement {
public int executeUpdate(String sql, final int[] columnIndexes)
throws SQLException {
return PreaparedStatementTracing.execute(realStatement, connectInfo, "executeUpdate", sql, new Executable<Integer>() {
return PreparedStatementTracing.execute(realStatement, connectInfo, "executeUpdate", sql, new Executable<Integer>() {
public Integer exe(java.sql.PreparedStatement realStatement, String sql)
throws SQLException {
return realStatement.executeUpdate(sql, columnIndexes);
@ -203,7 +203,7 @@ public class SWPreparedStatement implements PreparedStatement {
public int executeUpdate(String sql, final String[] columnNames)
throws SQLException {
return PreaparedStatementTracing.execute(realStatement, connectInfo, "executeUpdate", sql, new Executable<Integer>() {
return PreparedStatementTracing.execute(realStatement, connectInfo, "executeUpdate", sql, new Executable<Integer>() {
public Integer exe(java.sql.PreparedStatement realStatement, String sql)
throws SQLException {
return realStatement.executeUpdate(sql, columnNames);
@ -213,7 +213,7 @@ public class SWPreparedStatement implements PreparedStatement {
public boolean execute(String sql, final int autoGeneratedKeys)
throws SQLException {
return PreaparedStatementTracing.execute(realStatement, connectInfo, "execute", sql, new Executable<Boolean>() {
return PreparedStatementTracing.execute(realStatement, connectInfo, "execute", sql, new Executable<Boolean>() {
public Boolean exe(java.sql.PreparedStatement realStatement, String sql)
throws SQLException {
return realStatement.execute(sql, autoGeneratedKeys);
@ -222,7 +222,7 @@ public class SWPreparedStatement implements PreparedStatement {
}
public boolean execute(String sql, final int[] columnIndexes) throws SQLException {
return PreaparedStatementTracing.execute(realStatement, connectInfo, "execute", sql, new Executable<Boolean>() {
return PreparedStatementTracing.execute(realStatement, connectInfo, "execute", sql, new Executable<Boolean>() {
public Boolean exe(java.sql.PreparedStatement realStatement, String sql)
throws SQLException {
return realStatement.execute(sql, columnIndexes);
@ -232,7 +232,7 @@ public class SWPreparedStatement implements PreparedStatement {
public boolean execute(String sql, final String[] columnNames)
throws SQLException {
return PreaparedStatementTracing.execute(realStatement, connectInfo, "execute", sql, new Executable<Boolean>() {
return PreparedStatementTracing.execute(realStatement, connectInfo, "execute", sql, new Executable<Boolean>() {
public Boolean exe(java.sql.PreparedStatement realStatement, String sql)
throws SQLException {
return realStatement.execute(sql, columnNames);
@ -273,7 +273,7 @@ public class SWPreparedStatement implements PreparedStatement {
}
public ResultSet executeQuery() throws SQLException {
return PreaparedStatementTracing.execute(realStatement, connectInfo, "executeQuery", sql, new Executable<ResultSet>() {
return PreparedStatementTracing.execute(realStatement, connectInfo, "executeQuery", sql, new Executable<ResultSet>() {
public ResultSet exe(java.sql.PreparedStatement realStatement, String sql)
throws SQLException {
return realStatement.executeQuery();
@ -282,7 +282,7 @@ public class SWPreparedStatement implements PreparedStatement {
}
public int executeUpdate() throws SQLException {
return PreaparedStatementTracing.execute(realStatement, connectInfo, "executeUpdate", sql, new Executable<Integer>() {
return PreparedStatementTracing.execute(realStatement, connectInfo, "executeUpdate", sql, new Executable<Integer>() {
public Integer exe(java.sql.PreparedStatement realStatement, String sql)
throws SQLException {
return realStatement.executeUpdate();
@ -378,7 +378,7 @@ public class SWPreparedStatement implements PreparedStatement {
}
public boolean execute() throws SQLException {
return PreaparedStatementTracing.execute(realStatement, connectInfo, "executeUpdate", sql, new Executable<Boolean>() {
return PreparedStatementTracing.execute(realStatement, connectInfo, "executeUpdate", sql, new Executable<Boolean>() {
public Boolean exe(java.sql.PreparedStatement realStatement, String sql)
throws SQLException {
return realStatement.execute();

View File

@ -11,7 +11,7 @@ import com.ai.cloud.skywalking.model.Identification;
* @author wusheng
*
*/
public class PreaparedStatementTracing {
public class PreparedStatementTracing {
private static RPCBuriedPointSender sender = new RPCBuriedPointSender();
public static <R> R execute(java.sql.PreparedStatement realStatement,