Skip to content

Commit add2bc4

Browse files
authored
Polish JDBC plugins to make DBType accurate (#396)
1 parent 6cb2b42 commit add2bc4

50 files changed

Lines changed: 141 additions & 140 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

.github/workflows/plugins-test.3.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -121,7 +121,7 @@ jobs:
121121
run: |
122122
mkdir -p skywalking-agent/plugins
123123
curl -O https://skyapm.github.io/ci-assist/jars/ojdbc14-10.2.0.4.0.jar
124-
curl -L -o ./skywalking-agent/plugins/apm-oracle-10.x-plugin-2.0.0.jar https://github.com/SkyAPM/java-plugin-extensions/releases/download/2.3.0/apm-oracle-10.x-plugin-2.3.0.jar
124+
curl -L -o ./skywalking-agent/plugins/apm-oracle-10.x-plugin-2.3.1.jar https://github.com/SkyAPM/java-plugin-extensions/releases/download/2.3.1/apm-oracle-10.x-plugin-2.3.1.jar
125125
./mvnw -q --batch-mode install:install-file -Dfile=ojdbc14-10.2.0.4.0.jar -DgroupId=com.oracle -DartifactId=ojdbc14 -Dversion=10.2.0.4.0 -Dpackaging=jar
126126
- name: Run Plugin Test
127127
uses: ./.github/actions/run

CHANGES.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,7 @@ Release Notes.
1212
* Bump up byte-buddy to 1.12.19
1313
* Upgrade agent test tools
1414
* [Breaking Change] Compatible with 3.x and 4.x RabbitMQ Client, rename `rabbitmq-5.x-plugin` to `rabbitmq-plugin`
15+
* Polish JDBC plugins to make DBType accurate
1516

1617
#### Documentation
1718

apm-sniffer/apm-sdk-plugin/clickhouse-0.3.x-plugin/src/main/java/org/apache/skywalking/apm/plugin/jdbc/clickhouse/ClickHouseStatementTracingWrapper.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -35,7 +35,7 @@ public static <T> T of(ConnectionInfo connectionInfo, String methodName, String
3535
final AbstractSpan span = ContextManager.createExitSpan(
3636
connectionInfo.getDBType() + "/JDBC/Statement/" + methodName, connectionInfo.getDatabasePeer());
3737
try {
38-
Tags.DB_TYPE.set(span, "sql");
38+
Tags.DB_TYPE.set(span, connectionInfo.getDBType());
3939
Tags.DB_INSTANCE.set(span, connectionInfo.getDatabaseName());
4040
Tags.DB_STATEMENT.set(span, sql);
4141
span.setComponent(connectionInfo.getComponent());

apm-sniffer/apm-sdk-plugin/clickhouse-0.3.x-plugin/src/test/java/org/apache/skywalking/apm/plugin/jdbc/clickhouse/ClickHouseStatementMethodInterceptorTest.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -121,7 +121,7 @@ private void assertSpan(final AbstractTracingSpan span) throws JsonProcessingExc
121121
SpanAssert.assertComponent(span, ComponentsDefine.CLICKHOUSE_JDBC_DRIVER);
122122
SpanAssert.assertLayer(span, SpanLayer.DB);
123123
SpanAssert.assertTagSize(span, 3);
124-
SpanAssert.assertTag(span, 0, "sql");
124+
SpanAssert.assertTag(span, 0, "ClickHouse");
125125
SpanAssert.assertTag(span, 1, "default");
126126
SpanAssert.assertTag(span, 2, SQL);
127127
}

apm-sniffer/apm-sdk-plugin/impala-jdbc-2.6.x-plugin/src/main/java/org/apache/skywalking/apm/plugin/jdbc/impala/PreparedStatementExecuteMethodsInterceptor.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -45,7 +45,7 @@ public final void beforeMethod(EnhancedInstance objInst, Method method, Object[]
4545
}
4646
AbstractSpan span = ContextManager.createExitSpan(buildOperationName(connectInfo, method.getName(), cacheObject
4747
.getStatementName()), connectInfo.getDatabasePeer());
48-
Tags.DB_TYPE.set(span, "sql");
48+
Tags.DB_TYPE.set(span, connectInfo.getDBType());
4949
Tags.DB_INSTANCE.set(span, connectInfo.getDatabaseName());
5050
Tags.DB_STATEMENT.set(span, SqlBodyUtil.limitSqlBodySize(cacheObject.getSql()));
5151
span.setComponent(connectInfo.getComponent());

apm-sniffer/apm-sdk-plugin/impala-jdbc-2.6.x-plugin/src/main/java/org/apache/skywalking/apm/plugin/jdbc/impala/StatementExecuteMethodsInterceptor.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -40,7 +40,7 @@ public final void beforeMethod(EnhancedInstance objInst, Method method, Object[]
4040
if (connectInfo != null) {
4141
AbstractSpan span = ContextManager.createExitSpan(buildOperationName(connectInfo, method.getName(), cacheObject
4242
.getStatementName()), connectInfo.getDatabasePeer());
43-
Tags.DB_TYPE.set(span, "sql");
43+
Tags.DB_TYPE.set(span, connectInfo.getDBType());
4444
Tags.DB_INSTANCE.set(span, connectInfo.getDatabaseName());
4545
String sql = allArguments.length > 0 ? (String) allArguments[0] : "";
4646
sql = SqlBodyUtil.limitSqlBodySize(sql);

apm-sniffer/apm-sdk-plugin/impala-jdbc-2.6.x-plugin/src/test/java/org/apache/skywalking/apm/plugin/jdbc/impala/PreparedStatementExecuteMethodsInterceptorTest.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -115,7 +115,7 @@ public void testExecutePreparedStatement() throws Throwable {
115115
AbstractTracingSpan span = SegmentHelper.getSpans(segment).get(0);
116116
SpanAssert.assertLayer(span, SpanLayer.DB);
117117
assertThat(span.getOperationName(), is("Impala/JDBC/PreparedStatement/"));
118-
SpanAssert.assertTag(span, 0, "sql");
118+
SpanAssert.assertTag(span, 0, "Impala");
119119
SpanAssert.assertTag(span, 1, "test");
120120
SpanAssert.assertTag(span, 2, SQL);
121121
SpanAssert.assertTag(span, 3, "[abcd,efgh]");
@@ -145,7 +145,7 @@ public void testExecutePreparedStatementWithLimitSqlBody() throws Throwable {
145145
AbstractTracingSpan span = SegmentHelper.getSpans(segment).get(0);
146146
SpanAssert.assertLayer(span, SpanLayer.DB);
147147
assertThat(span.getOperationName(), is("Impala/JDBC/PreparedStatement/"));
148-
SpanAssert.assertTag(span, 0, "sql");
148+
SpanAssert.assertTag(span, 0, "Impala");
149149
SpanAssert.assertTag(span, 1, "test");
150150
SpanAssert.assertTag(span, 2, "Select * f...");
151151
SpanAssert.assertTag(span, 3, "[abcd,efgh]");

apm-sniffer/apm-sdk-plugin/impala-jdbc-2.6.x-plugin/src/test/java/org/apache/skywalking/apm/plugin/jdbc/impala/StatementExecuteMethodsInterceptorTest.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -98,7 +98,7 @@ public void testExecuteStatement() {
9898
AbstractTracingSpan span = SegmentHelper.getSpans(segment).get(0);
9999
SpanAssert.assertLayer(span, SpanLayer.DB);
100100
assertThat(span.getOperationName(), is("Impala/JDBC/CallableStatement/"));
101-
SpanAssert.assertTag(span, 0, "sql");
101+
SpanAssert.assertTag(span, 0, "Impala");
102102
SpanAssert.assertTag(span, 1, "test");
103103
SpanAssert.assertTag(span, 2, SQL);
104104
}
@@ -115,7 +115,7 @@ public void testExecuteStatementWithLimitSqlBody() {
115115
AbstractTracingSpan span = SegmentHelper.getSpans(segment).get(0);
116116
SpanAssert.assertLayer(span, SpanLayer.DB);
117117
assertThat(span.getOperationName(), is("Impala/JDBC/CallableStatement/"));
118-
SpanAssert.assertTag(span, 0, "sql");
118+
SpanAssert.assertTag(span, 0, "Impala");
119119
SpanAssert.assertTag(span, 1, "test");
120120
SpanAssert.assertTag(span, 2, "Select * f...");
121121
}

apm-sniffer/apm-sdk-plugin/jdbc-commons/src/main/java/org/apache/skywalking/apm/plugin/jdbc/ConnectionServiceMethodInterceptor.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -41,7 +41,7 @@ public final void beforeMethod(EnhancedInstance objInst, Method method, Object[]
4141
if (connectInfo != null) {
4242
AbstractSpan span = ContextManager.createExitSpan(connectInfo.getDBType() + "/JDBC/Connection/" + method.getName(), connectInfo
4343
.getDatabasePeer());
44-
Tags.DB_TYPE.set(span, "sql");
44+
Tags.DB_TYPE.set(span, connectInfo.getDBType());
4545
Tags.DB_INSTANCE.set(span, connectInfo.getDatabaseName());
4646
Tags.DB_STATEMENT.set(span, "");
4747
span.setComponent(connectInfo.getComponent());

apm-sniffer/apm-sdk-plugin/jdbc-commons/src/main/java/org/apache/skywalking/apm/plugin/jdbc/trace/CallableStatementTracing.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -35,7 +35,7 @@ public static <R> R execute(java.sql.CallableStatement realStatement, Connection
3535
AbstractSpan span = ContextManager.createExitSpan(connectInfo.getDBType() + "/JDBC/CallableStatement/" + method, connectInfo
3636
.getDatabasePeer());
3737
try {
38-
Tags.DB_TYPE.set(span, "sql");
38+
Tags.DB_TYPE.set(span, connectInfo.getDBType());
3939
SpanLayer.asDB(span);
4040
Tags.DB_INSTANCE.set(span, connectInfo.getDatabaseName());
4141
Tags.DB_STATEMENT.set(span, sql);

0 commit comments

Comments
 (0)