Loading sharding-opentracing/src/main/java/io/shardingsphere/opentracing/tag/LocalTags.java→sharding-opentracing/src/main/java/io/shardingsphere/opentracing/ShardingTags.java +4 −4 Original line number Diff line number Diff line Loading @@ -15,24 +15,24 @@ * </p> */ package io.shardingsphere.opentracing.tag; package io.shardingsphere.opentracing; import io.opentracing.tag.StringTag; import lombok.AccessLevel; import lombok.NoArgsConstructor; /** * Local tags. * Sharding tags. * * @author chenqingyang */ @NoArgsConstructor(access = AccessLevel.PRIVATE) public final class LocalTags { public final class ShardingTags { public static final String COMPONENT_NAME = "SHARDING-SPHERE"; /** * DB_BIND_VARIABLES records the bind variables of sql statement. * Records the bind variables of SQL. */ public static final StringTag DB_BIND_VARIABLES = new StringTag("db.bind_vars"); } sharding-opentracing/src/main/java/io/shardingsphere/opentracing/listener/TracingListener.java→sharding-opentracing/src/main/java/io/shardingsphere/opentracing/listener/OpenTracingListener.java +8 −5 Original line number Diff line number Diff line Loading @@ -17,6 +17,8 @@ package io.shardingsphere.opentracing.listener; import io.opentracing.BaseSpan; import io.opentracing.tag.Tags; import io.shardingsphere.core.event.ShardingEvent; import io.shardingsphere.core.event.ShardingEventBusInstance; Loading @@ -24,13 +26,13 @@ import java.util.HashMap; import java.util.Map; /** * Tracing listener. * Opentracing listener. * * @author zhangliang * * @param <T> type of sharding event */ public abstract class TracingListener<T extends ShardingEvent> { public abstract class OpenTracingListener<T extends ShardingEvent> { /** * Register listener. Loading @@ -39,6 +41,7 @@ public abstract class TracingListener<T extends ShardingEvent> { ShardingEventBusInstance.getInstance().register(this); } @SuppressWarnings("unchecked") protected final void tracing(final T event) { switch (event.getEventType()) { case BEFORE_EXECUTE: Loading @@ -48,7 +51,7 @@ public abstract class TracingListener<T extends ShardingEvent> { tracingFinish(); break; case EXECUTE_FAILURE: tracingFailure(event); getFailureSpan().setTag(Tags.ERROR.getKey(), true).log(System.currentTimeMillis(), getReason(event.getException())); tracingFinish(); break; default: Loading @@ -60,9 +63,9 @@ public abstract class TracingListener<T extends ShardingEvent> { protected abstract void tracingFinish(); protected abstract void tracingFailure(T event); protected abstract BaseSpan<?> getFailureSpan(); protected final Map<String, ?> log(final Throwable cause) { private Map<String, ?> getReason(final Throwable cause) { Map<String, String> result = new HashMap<>(3, 1); result.put("event", "error"); result.put("error.kind", cause.getClass().getName()); Loading sharding-opentracing/src/main/java/io/shardingsphere/opentracing/listener/execution/DMLExecuteEventListener.java +0 −5 Original line number Diff line number Diff line Loading @@ -40,9 +40,4 @@ public final class DMLExecuteEventListener extends ExecuteEventListener { public void listen(final DMLExecutionEvent event) { tracing(event); } @Override protected String getOperation() { return "MODIFY"; } } sharding-opentracing/src/main/java/io/shardingsphere/opentracing/listener/execution/DQLExecuteEventListener.java +0 −5 Original line number Diff line number Diff line Loading @@ -40,9 +40,4 @@ public final class DQLExecuteEventListener extends ExecuteEventListener { public void listen(final DQLExecutionEvent event) { tracing(event); } @Override protected String getOperation() { return "QUERY"; } } sharding-opentracing/src/main/java/io/shardingsphere/opentracing/listener/execution/ExecuteEventListener.java +10 −14 Original line number Diff line number Diff line Loading @@ -20,13 +20,12 @@ package io.shardingsphere.opentracing.listener.execution; import com.google.common.base.Joiner; import io.opentracing.ActiveSpan; import io.opentracing.Span; import io.opentracing.Tracer; import io.opentracing.tag.Tags; import io.shardingsphere.core.executor.event.SQLExecutionEvent; import io.shardingsphere.core.executor.threadlocal.ExecutorDataMap; import io.shardingsphere.opentracing.ShardingTracer; import io.shardingsphere.opentracing.listener.TracingListener; import io.shardingsphere.opentracing.tag.LocalTags; import io.shardingsphere.opentracing.listener.OpenTracingListener; import io.shardingsphere.opentracing.ShardingTags; /** * SQL execute event listener. Loading @@ -35,12 +34,12 @@ import io.shardingsphere.opentracing.tag.LocalTags; * @author wangkai * @author maxiaoguang */ public abstract class ExecuteEventListener extends TracingListener<SQLExecutionEvent> { private static final String SNAPSHOT_DATA_KEY = "OPENTRACING_SNAPSHOT_DATA"; public abstract class ExecuteEventListener extends OpenTracingListener<SQLExecutionEvent> { private static final String OPERATION_NAME_PREFIX = "/SHARDING-SPHERE/EXECUTE/"; private static final String SNAPSHOT_DATA_KEY = "OPENTRACING_SNAPSHOT_DATA"; private final ThreadLocal<ActiveSpan> trunkSpan = new ThreadLocal<>(); private final ThreadLocal<Span> branchSpan = new ThreadLocal<>(); Loading @@ -49,15 +48,14 @@ public abstract class ExecuteEventListener extends TracingListener<SQLExecutionE @Override protected final void beforeExecute(final SQLExecutionEvent event) { Tracer tracer = ShardingTracer.get(); if (ExecutorDataMap.getDataMap().containsKey(SNAPSHOT_DATA_KEY) && null == trunkSpan.get() && null == branchSpan.get()) { trunkInBranchSpan.set(((ActiveSpan.Continuation) ExecutorDataMap.getDataMap().get(SNAPSHOT_DATA_KEY)).activate()); } if (null == branchSpan.get()) { branchSpan.set(tracer.buildSpan(OPERATION_NAME_PREFIX + getOperation()).withTag(Tags.SPAN_KIND.getKey(), Tags.SPAN_KIND_CLIENT) .withTag(Tags.PEER_HOSTNAME.getKey(), event.getDataSource()).withTag(Tags.COMPONENT.getKey(), LocalTags.COMPONENT_NAME) branchSpan.set(ShardingTracer.get().buildSpan(OPERATION_NAME_PREFIX).withTag(Tags.SPAN_KIND.getKey(), Tags.SPAN_KIND_CLIENT) .withTag(Tags.PEER_HOSTNAME.getKey(), event.getDataSource()).withTag(Tags.COMPONENT.getKey(), ShardingTags.COMPONENT_NAME) .withTag(Tags.DB_INSTANCE.getKey(), event.getDataSource()).withTag(Tags.DB_TYPE.getKey(), "sql") .withTag(LocalTags.DB_BIND_VARIABLES.getKey(), event.getParameters().isEmpty() ? "" : Joiner.on(",").join(event.getParameters())) .withTag(ShardingTags.DB_BIND_VARIABLES.getKey(), event.getParameters().isEmpty() ? "" : Joiner.on(",").join(event.getParameters())) .withTag(Tags.DB_STATEMENT.getKey(), event.getSqlUnit().getSql()).startManual()); } } Loading @@ -77,9 +75,7 @@ public abstract class ExecuteEventListener extends TracingListener<SQLExecutionE } @Override protected final void tracingFailure(final SQLExecutionEvent event) { branchSpan.get().setTag(Tags.ERROR.getKey(), true).log(System.currentTimeMillis(), log(event.getException())); protected final Span getFailureSpan() { return branchSpan.get(); } protected abstract String getOperation(); } Loading
sharding-opentracing/src/main/java/io/shardingsphere/opentracing/tag/LocalTags.java→sharding-opentracing/src/main/java/io/shardingsphere/opentracing/ShardingTags.java +4 −4 Original line number Diff line number Diff line Loading @@ -15,24 +15,24 @@ * </p> */ package io.shardingsphere.opentracing.tag; package io.shardingsphere.opentracing; import io.opentracing.tag.StringTag; import lombok.AccessLevel; import lombok.NoArgsConstructor; /** * Local tags. * Sharding tags. * * @author chenqingyang */ @NoArgsConstructor(access = AccessLevel.PRIVATE) public final class LocalTags { public final class ShardingTags { public static final String COMPONENT_NAME = "SHARDING-SPHERE"; /** * DB_BIND_VARIABLES records the bind variables of sql statement. * Records the bind variables of SQL. */ public static final StringTag DB_BIND_VARIABLES = new StringTag("db.bind_vars"); }
sharding-opentracing/src/main/java/io/shardingsphere/opentracing/listener/TracingListener.java→sharding-opentracing/src/main/java/io/shardingsphere/opentracing/listener/OpenTracingListener.java +8 −5 Original line number Diff line number Diff line Loading @@ -17,6 +17,8 @@ package io.shardingsphere.opentracing.listener; import io.opentracing.BaseSpan; import io.opentracing.tag.Tags; import io.shardingsphere.core.event.ShardingEvent; import io.shardingsphere.core.event.ShardingEventBusInstance; Loading @@ -24,13 +26,13 @@ import java.util.HashMap; import java.util.Map; /** * Tracing listener. * Opentracing listener. * * @author zhangliang * * @param <T> type of sharding event */ public abstract class TracingListener<T extends ShardingEvent> { public abstract class OpenTracingListener<T extends ShardingEvent> { /** * Register listener. Loading @@ -39,6 +41,7 @@ public abstract class TracingListener<T extends ShardingEvent> { ShardingEventBusInstance.getInstance().register(this); } @SuppressWarnings("unchecked") protected final void tracing(final T event) { switch (event.getEventType()) { case BEFORE_EXECUTE: Loading @@ -48,7 +51,7 @@ public abstract class TracingListener<T extends ShardingEvent> { tracingFinish(); break; case EXECUTE_FAILURE: tracingFailure(event); getFailureSpan().setTag(Tags.ERROR.getKey(), true).log(System.currentTimeMillis(), getReason(event.getException())); tracingFinish(); break; default: Loading @@ -60,9 +63,9 @@ public abstract class TracingListener<T extends ShardingEvent> { protected abstract void tracingFinish(); protected abstract void tracingFailure(T event); protected abstract BaseSpan<?> getFailureSpan(); protected final Map<String, ?> log(final Throwable cause) { private Map<String, ?> getReason(final Throwable cause) { Map<String, String> result = new HashMap<>(3, 1); result.put("event", "error"); result.put("error.kind", cause.getClass().getName()); Loading
sharding-opentracing/src/main/java/io/shardingsphere/opentracing/listener/execution/DMLExecuteEventListener.java +0 −5 Original line number Diff line number Diff line Loading @@ -40,9 +40,4 @@ public final class DMLExecuteEventListener extends ExecuteEventListener { public void listen(final DMLExecutionEvent event) { tracing(event); } @Override protected String getOperation() { return "MODIFY"; } }
sharding-opentracing/src/main/java/io/shardingsphere/opentracing/listener/execution/DQLExecuteEventListener.java +0 −5 Original line number Diff line number Diff line Loading @@ -40,9 +40,4 @@ public final class DQLExecuteEventListener extends ExecuteEventListener { public void listen(final DQLExecutionEvent event) { tracing(event); } @Override protected String getOperation() { return "QUERY"; } }
sharding-opentracing/src/main/java/io/shardingsphere/opentracing/listener/execution/ExecuteEventListener.java +10 −14 Original line number Diff line number Diff line Loading @@ -20,13 +20,12 @@ package io.shardingsphere.opentracing.listener.execution; import com.google.common.base.Joiner; import io.opentracing.ActiveSpan; import io.opentracing.Span; import io.opentracing.Tracer; import io.opentracing.tag.Tags; import io.shardingsphere.core.executor.event.SQLExecutionEvent; import io.shardingsphere.core.executor.threadlocal.ExecutorDataMap; import io.shardingsphere.opentracing.ShardingTracer; import io.shardingsphere.opentracing.listener.TracingListener; import io.shardingsphere.opentracing.tag.LocalTags; import io.shardingsphere.opentracing.listener.OpenTracingListener; import io.shardingsphere.opentracing.ShardingTags; /** * SQL execute event listener. Loading @@ -35,12 +34,12 @@ import io.shardingsphere.opentracing.tag.LocalTags; * @author wangkai * @author maxiaoguang */ public abstract class ExecuteEventListener extends TracingListener<SQLExecutionEvent> { private static final String SNAPSHOT_DATA_KEY = "OPENTRACING_SNAPSHOT_DATA"; public abstract class ExecuteEventListener extends OpenTracingListener<SQLExecutionEvent> { private static final String OPERATION_NAME_PREFIX = "/SHARDING-SPHERE/EXECUTE/"; private static final String SNAPSHOT_DATA_KEY = "OPENTRACING_SNAPSHOT_DATA"; private final ThreadLocal<ActiveSpan> trunkSpan = new ThreadLocal<>(); private final ThreadLocal<Span> branchSpan = new ThreadLocal<>(); Loading @@ -49,15 +48,14 @@ public abstract class ExecuteEventListener extends TracingListener<SQLExecutionE @Override protected final void beforeExecute(final SQLExecutionEvent event) { Tracer tracer = ShardingTracer.get(); if (ExecutorDataMap.getDataMap().containsKey(SNAPSHOT_DATA_KEY) && null == trunkSpan.get() && null == branchSpan.get()) { trunkInBranchSpan.set(((ActiveSpan.Continuation) ExecutorDataMap.getDataMap().get(SNAPSHOT_DATA_KEY)).activate()); } if (null == branchSpan.get()) { branchSpan.set(tracer.buildSpan(OPERATION_NAME_PREFIX + getOperation()).withTag(Tags.SPAN_KIND.getKey(), Tags.SPAN_KIND_CLIENT) .withTag(Tags.PEER_HOSTNAME.getKey(), event.getDataSource()).withTag(Tags.COMPONENT.getKey(), LocalTags.COMPONENT_NAME) branchSpan.set(ShardingTracer.get().buildSpan(OPERATION_NAME_PREFIX).withTag(Tags.SPAN_KIND.getKey(), Tags.SPAN_KIND_CLIENT) .withTag(Tags.PEER_HOSTNAME.getKey(), event.getDataSource()).withTag(Tags.COMPONENT.getKey(), ShardingTags.COMPONENT_NAME) .withTag(Tags.DB_INSTANCE.getKey(), event.getDataSource()).withTag(Tags.DB_TYPE.getKey(), "sql") .withTag(LocalTags.DB_BIND_VARIABLES.getKey(), event.getParameters().isEmpty() ? "" : Joiner.on(",").join(event.getParameters())) .withTag(ShardingTags.DB_BIND_VARIABLES.getKey(), event.getParameters().isEmpty() ? "" : Joiner.on(",").join(event.getParameters())) .withTag(Tags.DB_STATEMENT.getKey(), event.getSqlUnit().getSql()).startManual()); } } Loading @@ -77,9 +75,7 @@ public abstract class ExecuteEventListener extends TracingListener<SQLExecutionE } @Override protected final void tracingFailure(final SQLExecutionEvent event) { branchSpan.get().setTag(Tags.ERROR.getKey(), true).log(System.currentTimeMillis(), log(event.getException())); protected final Span getFailureSpan() { return branchSpan.get(); } protected abstract String getOperation(); }