未验证 提交 49ed4788 编写于 作者: Y ynfeng 提交者: GitHub

fix #4765 (#4766)

上级 d4f3218d
...@@ -23,9 +23,9 @@ import com.dangdang.ddframe.rdb.sharding.executor.event.DMLExecutionEvent; ...@@ -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.event.DQLExecutionEvent;
import com.dangdang.ddframe.rdb.sharding.executor.threadlocal.ExecutorDataMap; import com.dangdang.ddframe.rdb.sharding.executor.threadlocal.ExecutorDataMap;
import com.dangdang.ddframe.rdb.sharding.util.EventBusInstance; 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.AllowConcurrentEvents;
import com.google.common.eventbus.Subscribe; 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.tag.Tags;
import org.apache.skywalking.apm.agent.core.context.trace.AbstractSpan; import org.apache.skywalking.apm.agent.core.context.trace.AbstractSpan;
import org.apache.skywalking.apm.agent.core.context.trace.SpanLayer; import org.apache.skywalking.apm.agent.core.context.trace.SpanLayer;
...@@ -62,13 +62,17 @@ public class ExecuteEventListener { ...@@ -62,13 +62,17 @@ public class ExecuteEventListener {
AbstractSpan span = ContextManager.createExitSpan("/SJDBC/BRANCH/" + operation, event.getDataSource()); AbstractSpan span = ContextManager.createExitSpan("/SJDBC/BRANCH/" + operation, event.getDataSource());
if (ExecutorDataMap.getDataMap().containsKey(AsyncExecuteInterceptor.SNAPSHOT_DATA_KEY)) { if (ExecutorDataMap.getDataMap().containsKey(AsyncExecuteInterceptor.SNAPSHOT_DATA_KEY)) {
ContextManager.continued((ContextSnapshot) ExecutorDataMap.getDataMap() ContextManager.continued((ContextSnapshot) ExecutorDataMap.getDataMap()
.get(AsyncExecuteInterceptor.SNAPSHOT_DATA_KEY)); .get(AsyncExecuteInterceptor.SNAPSHOT_DATA_KEY));
} }
Tags.DB_TYPE.set(span, "sql"); Tags.DB_TYPE.set(span, "sql");
Tags.DB_INSTANCE.set(span, event.getDataSource()); Tags.DB_INSTANCE.set(span, event.getDataSource());
Tags.DB_STATEMENT.set(span, event.getSql()); Tags.DB_STATEMENT.set(span, event.getSql());
if (!event.getParameters().isEmpty()) { 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); span.setComponent(ComponentsDefine.SHARDING_JDBC);
SpanLayer.asDB(span); SpanLayer.asDB(span);
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册