From 49ed47889b0a9eb8ed4e90c29369afafd68ed472 Mon Sep 17 00:00:00 2001 From: ynfeng <182148432@qq.com> Date: Sat, 9 May 2020 20:38:13 +0800 Subject: [PATCH] fix #4765 (#4766) --- .../apm/plugin/sjdbc/ExecuteEventListener.java | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/apm-sniffer/apm-sdk-plugin/sharding-jdbc-1.5.x-plugin/src/main/java/org/apache/skywalking/apm/plugin/sjdbc/ExecuteEventListener.java b/apm-sniffer/apm-sdk-plugin/sharding-jdbc-1.5.x-plugin/src/main/java/org/apache/skywalking/apm/plugin/sjdbc/ExecuteEventListener.java index b57e0f957e..fdc2b98310 100644 --- a/apm-sniffer/apm-sdk-plugin/sharding-jdbc-1.5.x-plugin/src/main/java/org/apache/skywalking/apm/plugin/sjdbc/ExecuteEventListener.java +++ b/apm-sniffer/apm-sdk-plugin/sharding-jdbc-1.5.x-plugin/src/main/java/org/apache/skywalking/apm/plugin/sjdbc/ExecuteEventListener.java @@ -23,9 +23,9 @@ import com.dangdang.ddframe.rdb.sharding.executor.event.DMLExecutionEvent; import com.dangdang.ddframe.rdb.sharding.executor.event.DQLExecutionEvent; import com.dangdang.ddframe.rdb.sharding.executor.threadlocal.ExecutorDataMap; import com.dangdang.ddframe.rdb.sharding.util.EventBusInstance; -import com.google.common.base.Joiner; import com.google.common.eventbus.AllowConcurrentEvents; import com.google.common.eventbus.Subscribe; +import java.util.stream.Collectors; import org.apache.skywalking.apm.agent.core.context.tag.Tags; import org.apache.skywalking.apm.agent.core.context.trace.AbstractSpan; import org.apache.skywalking.apm.agent.core.context.trace.SpanLayer; @@ -62,13 +62,17 @@ public class ExecuteEventListener { AbstractSpan span = ContextManager.createExitSpan("/SJDBC/BRANCH/" + operation, event.getDataSource()); if (ExecutorDataMap.getDataMap().containsKey(AsyncExecuteInterceptor.SNAPSHOT_DATA_KEY)) { ContextManager.continued((ContextSnapshot) ExecutorDataMap.getDataMap() - .get(AsyncExecuteInterceptor.SNAPSHOT_DATA_KEY)); + .get(AsyncExecuteInterceptor.SNAPSHOT_DATA_KEY)); } Tags.DB_TYPE.set(span, "sql"); Tags.DB_INSTANCE.set(span, event.getDataSource()); Tags.DB_STATEMENT.set(span, event.getSql()); if (!event.getParameters().isEmpty()) { - Tags.DB_BIND_VARIABLES.set(span, Joiner.on(",").join(event.getParameters())); + String variables = event.getParameters() + .stream() + .map(String::valueOf) + .collect(Collectors.joining(",")); + Tags.DB_BIND_VARIABLES.set(span, variables); } span.setComponent(ComponentsDefine.SHARDING_JDBC); SpanLayer.asDB(span); -- GitLab