diff --git a/apm-sniffer/apm-agent-core/src/main/java/org/skywalking/apm/agent/core/context/AbstractTracerContext.java b/apm-sniffer/apm-agent-core/src/main/java/org/skywalking/apm/agent/core/context/AbstractTracerContext.java
index 0891fc3c39e4..1adc79002c00 100644
--- a/apm-sniffer/apm-agent-core/src/main/java/org/skywalking/apm/agent/core/context/AbstractTracerContext.java
+++ b/apm-sniffer/apm-agent-core/src/main/java/org/skywalking/apm/agent/core/context/AbstractTracerContext.java
@@ -1,6 +1,6 @@
package org.skywalking.apm.agent.core.context;
-import org.skywalking.apm.agent.core.context.trace.Span;
+import org.skywalking.apm.agent.core.context.trace.AbstractSpan;
/**
* The AbstractTracerContext
represents the tracer context manager.
@@ -14,15 +14,15 @@ public interface AbstractTracerContext {
String getGlobalTraceId();
- Span createSpan(String operationName, boolean isLeaf);
+ AbstractSpan createSpan(String operationName, boolean isLeaf);
- Span createSpan(String operationName, long startTime, boolean isLeaf);
+ AbstractSpan createSpan(String operationName, long startTime, boolean isLeaf);
- Span activeSpan();
+ AbstractSpan activeSpan();
- void stopSpan(Span span);
+ void stopSpan(AbstractSpan span);
- void stopSpan(Span span, Long endTime);
+ void stopSpan(AbstractSpan span, Long endTime);
void dispose();
}
diff --git a/apm-sniffer/apm-agent-core/src/main/java/org/skywalking/apm/agent/core/context/ContextManager.java b/apm-sniffer/apm-agent-core/src/main/java/org/skywalking/apm/agent/core/context/ContextManager.java
index 72db942bb49b..72671097ff75 100644
--- a/apm-sniffer/apm-agent-core/src/main/java/org/skywalking/apm/agent/core/context/ContextManager.java
+++ b/apm-sniffer/apm-agent-core/src/main/java/org/skywalking/apm/agent/core/context/ContextManager.java
@@ -1,7 +1,7 @@
package org.skywalking.apm.agent.core.context;
import org.skywalking.apm.agent.core.boot.BootService;
-import org.skywalking.apm.agent.core.context.trace.Span;
+import org.skywalking.apm.agent.core.context.trace.AbstractSpan;
import org.skywalking.apm.agent.core.context.trace.TraceSegment;
/**
@@ -12,7 +12,7 @@
* https://github.com/opentracing/specification/blob/master/specification.md#references-between-spans}
*
Also, {@link
* ContextManager} delegates to all {@link TracerContext}'s major methods: {@link TracerContext#createSpan(String,
- * boolean)}, {@link TracerContext#activeSpan()}, {@link TracerContext#stopSpan(Span)}
+ * boolean)}, {@link TracerContext#activeSpan()}, {@link AbstractTracerContext#stopSpan(org.skywalking.apm.agent.core.context.trace.AbstractSpan)}
*
*
* @author wusheng
@@ -55,23 +55,23 @@ public static String getGlobalTraceId() {
}
}
- public static Span createSpan(String operationName) {
+ public static AbstractSpan createSpan(String operationName) {
return get().createSpan(operationName, false);
}
- public static Span createSpan(String operationName, long startTime) {
+ public static AbstractSpan createSpan(String operationName, long startTime) {
return get().createSpan(operationName, startTime, false);
}
- public static Span createLeafSpan(String operationName) {
+ public static AbstractSpan createLeafSpan(String operationName) {
return get().createSpan(operationName, true);
}
- public static Span createLeafSpan(String operationName, long startTime) {
+ public static AbstractSpan createLeafSpan(String operationName, long startTime) {
return get().createSpan(operationName, startTime, true);
}
- public static Span activeSpan() {
+ public static AbstractSpan activeSpan() {
return get().activeSpan();
}
diff --git a/apm-sniffer/apm-agent-core/src/main/java/org/skywalking/apm/agent/core/context/IgnoreTracerContext.java b/apm-sniffer/apm-agent-core/src/main/java/org/skywalking/apm/agent/core/context/IgnoreTracerContext.java
index 9d58786674c9..d1db8e5ff3fa 100644
--- a/apm-sniffer/apm-agent-core/src/main/java/org/skywalking/apm/agent/core/context/IgnoreTracerContext.java
+++ b/apm-sniffer/apm-agent-core/src/main/java/org/skywalking/apm/agent/core/context/IgnoreTracerContext.java
@@ -2,7 +2,7 @@
import java.util.LinkedList;
import java.util.List;
-import org.skywalking.apm.agent.core.context.trace.Span;
+import org.skywalking.apm.agent.core.context.trace.AbstractSpan;
/**
* The IgnoreTracerContext
represent a context should be ignored.
@@ -36,23 +36,23 @@ public String getGlobalTraceId() {
}
@Override
- public Span createSpan(String operationName, boolean isLeaf) {
+ public AbstractSpan createSpan(String operationName, boolean isLeaf) {
stackDepth++;
return null;
}
@Override
- public Span createSpan(String operationName, long startTime, boolean isLeaf) {
+ public AbstractSpan createSpan(String operationName, long startTime, boolean isLeaf) {
return createSpan(operationName, isLeaf);
}
@Override
- public Span activeSpan() {
+ public AbstractSpan activeSpan() {
return null;
}
@Override
- public void stopSpan(Span span) {
+ public void stopSpan(AbstractSpan span) {
stackDepth--;
if (stackDepth == 0) {
@@ -60,7 +60,7 @@ public void stopSpan(Span span) {
}
@Override
- public void stopSpan(Span span, Long endTime) {
+ public void stopSpan(AbstractSpan span, Long endTime) {
stopSpan(span);
}
diff --git a/apm-sniffer/apm-agent-core/src/main/java/org/skywalking/apm/agent/core/context/TracerContext.java b/apm-sniffer/apm-agent-core/src/main/java/org/skywalking/apm/agent/core/context/TracerContext.java
index 48d086602635..19196eac2e0f 100644
--- a/apm-sniffer/apm-agent-core/src/main/java/org/skywalking/apm/agent/core/context/TracerContext.java
+++ b/apm-sniffer/apm-agent-core/src/main/java/org/skywalking/apm/agent/core/context/TracerContext.java
@@ -3,6 +3,7 @@
import java.util.LinkedList;
import java.util.List;
import org.skywalking.apm.agent.core.conf.Config;
+import org.skywalking.apm.agent.core.context.trace.AbstractSpan;
import org.skywalking.apm.agent.core.context.trace.LeafSpan;
import org.skywalking.apm.agent.core.context.trace.Span;
import org.skywalking.apm.agent.core.context.trace.TraceSegment;
@@ -42,7 +43,7 @@ public final class TracerContext implements AbstractTracerContext {
* @param operationName {@link Span#operationName}
* @return the new active span.
*/
- public Span createSpan(String operationName, boolean isLeaf) {
+ public AbstractSpan createSpan(String operationName, boolean isLeaf) {
return this.createSpan(operationName, System.currentTimeMillis(), isLeaf);
}
@@ -54,7 +55,7 @@ public Span createSpan(String operationName, boolean isLeaf) {
* @param isLeaf is true, if the span is a leaf in trace tree.
* @return
*/
- public Span createSpan(String operationName, long startTime, boolean isLeaf) {
+ public AbstractSpan createSpan(String operationName, long startTime, boolean isLeaf) {
Span parentSpan = peek();
Span span;
if (parentSpan == null) {
@@ -82,7 +83,7 @@ public Span createSpan(String operationName, long startTime, boolean isLeaf) {
/**
* @return the active span of current context.
*/
- public Span activeSpan() {
+ public AbstractSpan activeSpan() {
Span span = peek();
if (span == null) {
throw new IllegalStateException("No active span.");
@@ -95,7 +96,7 @@ public Span activeSpan() {
*
* @param span to finish. It must the the top element of {@link #activeSpanStack}.
*/
- public void stopSpan(Span span) {
+ public void stopSpan(AbstractSpan span) {
stopSpan(span, System.currentTimeMillis());
}
@@ -106,7 +107,7 @@ public String getGlobalTraceId() {
return segment.getRelatedGlobalTraces().get(0).get();
}
- public void stopSpan(Span span, Long endTime) {
+ public void stopSpan(AbstractSpan span, Long endTime) {
Span lastSpan = peek();
if (lastSpan.isLeaf()) {
LeafSpan leafSpan = (LeafSpan)lastSpan;
@@ -147,7 +148,7 @@ private void finish() {
*/
public void inject(ContextCarrier carrier) {
carrier.setTraceSegmentId(this.segment.getTraceSegmentId());
- Span span = this.activeSpan();
+ Span span = (Span)this.activeSpan();
carrier.setSpanId(span.getSpanId());
carrier.setApplicationCode(Config.Agent.APPLICATION_CODE);
String host = span.getPeerHost();
diff --git a/apm-sniffer/apm-agent-core/src/main/java/org/skywalking/apm/agent/core/context/tag/AbstractTag.java b/apm-sniffer/apm-agent-core/src/main/java/org/skywalking/apm/agent/core/context/tag/AbstractTag.java
index 9f8fc487872b..518e6e2ae0c5 100644
--- a/apm-sniffer/apm-agent-core/src/main/java/org/skywalking/apm/agent/core/context/tag/AbstractTag.java
+++ b/apm-sniffer/apm-agent-core/src/main/java/org/skywalking/apm/agent/core/context/tag/AbstractTag.java
@@ -1,5 +1,6 @@
package org.skywalking.apm.agent.core.context.tag;
+import org.skywalking.apm.agent.core.context.trace.AbstractSpan;
import org.skywalking.apm.agent.core.context.trace.Span;
/**
@@ -22,7 +23,7 @@ public AbstractTag(String tagKey) {
this.key = tagKey;
}
- protected abstract void set(Span span, T tagValue);
+ protected abstract void set(AbstractSpan span, T tagValue);
/**
* @return the key of this tag.
diff --git a/apm-sniffer/apm-agent-core/src/main/java/org/skywalking/apm/agent/core/context/tag/BooleanTag.java b/apm-sniffer/apm-agent-core/src/main/java/org/skywalking/apm/agent/core/context/tag/BooleanTag.java
index 429acb8bdeda..e583da561048 100644
--- a/apm-sniffer/apm-agent-core/src/main/java/org/skywalking/apm/agent/core/context/tag/BooleanTag.java
+++ b/apm-sniffer/apm-agent-core/src/main/java/org/skywalking/apm/agent/core/context/tag/BooleanTag.java
@@ -1,6 +1,6 @@
package org.skywalking.apm.agent.core.context.tag;
-import org.skywalking.apm.agent.core.context.trace.Span;
+import org.skywalking.apm.agent.core.context.trace.AbstractSpan;
/**
* Do the same thing as {@link StringTag}, just with a {@link Boolean} value.
@@ -17,7 +17,7 @@ public BooleanTag(String key, boolean defaultValue) {
}
@Override
- public void set(Span span, Boolean tagValue) {
+ public void set(AbstractSpan span, Boolean tagValue) {
span.setTag(key, tagValue);
}
diff --git a/apm-sniffer/apm-agent-core/src/main/java/org/skywalking/apm/agent/core/context/tag/IntTag.java b/apm-sniffer/apm-agent-core/src/main/java/org/skywalking/apm/agent/core/context/tag/IntTag.java
index d2f73438b885..2b1e7e88d24a 100644
--- a/apm-sniffer/apm-agent-core/src/main/java/org/skywalking/apm/agent/core/context/tag/IntTag.java
+++ b/apm-sniffer/apm-agent-core/src/main/java/org/skywalking/apm/agent/core/context/tag/IntTag.java
@@ -1,6 +1,6 @@
package org.skywalking.apm.agent.core.context.tag;
-import org.skywalking.apm.agent.core.context.trace.Span;
+import org.skywalking.apm.agent.core.context.trace.AbstractSpan;
/**
* Do the same thing as {@link StringTag}, just with a {@link Integer} value.
@@ -13,7 +13,7 @@ public IntTag(String key) {
}
@Override
- public void set(Span span, Integer tagValue) {
+ public void set(AbstractSpan span, Integer tagValue) {
span.setTag(super.key, tagValue);
}
diff --git a/apm-sniffer/apm-agent-core/src/main/java/org/skywalking/apm/agent/core/context/tag/StringTag.java b/apm-sniffer/apm-agent-core/src/main/java/org/skywalking/apm/agent/core/context/tag/StringTag.java
index d703120536cc..8fdc8d83c4ec 100644
--- a/apm-sniffer/apm-agent-core/src/main/java/org/skywalking/apm/agent/core/context/tag/StringTag.java
+++ b/apm-sniffer/apm-agent-core/src/main/java/org/skywalking/apm/agent/core/context/tag/StringTag.java
@@ -1,6 +1,6 @@
package org.skywalking.apm.agent.core.context.tag;
-import org.skywalking.apm.agent.core.context.trace.Span;
+import org.skywalking.apm.agent.core.context.trace.AbstractSpan;
/**
* A subclass of {@link AbstractTag},
@@ -14,7 +14,7 @@ public StringTag(String tagKey) {
}
@Override
- public void set(Span span, String tagValue) {
+ public void set(AbstractSpan span, String tagValue) {
span.setTag(key, tagValue);
}
}
diff --git a/apm-sniffer/apm-agent-core/src/main/java/org/skywalking/apm/agent/core/context/tag/Tags.java b/apm-sniffer/apm-agent-core/src/main/java/org/skywalking/apm/agent/core/context/tag/Tags.java
index cd0fe82fb7d6..11c36a9f2651 100644
--- a/apm-sniffer/apm-agent-core/src/main/java/org/skywalking/apm/agent/core/context/tag/Tags.java
+++ b/apm-sniffer/apm-agent-core/src/main/java/org/skywalking/apm/agent/core/context/tag/Tags.java
@@ -1,6 +1,6 @@
package org.skywalking.apm.agent.core.context.tag;
-import org.skywalking.apm.agent.core.context.trace.Span;
+import org.skywalking.apm.agent.core.context.trace.AbstractSpan;
/**
* The span tags are supported by sky-walking engine.
@@ -52,15 +52,15 @@ public static final class SPAN_LAYER {
private static final String RPC_FRAMEWORK_LAYER = "rpc";
private static final String HTTP_LAYER = "http";
- public static void asDB(Span span) {
+ public static void asDB(AbstractSpan span) {
SPAN_LAYER_TAG.set(span, DB_LAYER);
}
- public static void asRPCFramework(Span span) {
+ public static void asRPCFramework(AbstractSpan span) {
SPAN_LAYER_TAG.set(span, RPC_FRAMEWORK_LAYER);
}
- public static void asHttp(Span span) {
+ public static void asHttp(AbstractSpan span) {
SPAN_LAYER_TAG.set(span, HTTP_LAYER);
}
}
diff --git a/apm-sniffer/apm-agent-core/src/main/java/org/skywalking/apm/agent/core/context/trace/AbstractSpan.java b/apm-sniffer/apm-agent-core/src/main/java/org/skywalking/apm/agent/core/context/trace/AbstractSpan.java
new file mode 100644
index 000000000000..73697705f84d
--- /dev/null
+++ b/apm-sniffer/apm-agent-core/src/main/java/org/skywalking/apm/agent/core/context/trace/AbstractSpan.java
@@ -0,0 +1,31 @@
+package org.skywalking.apm.agent.core.context.trace;
+
+import java.util.Map;
+
+/**
+ * The AbstractSpan
represents the span's skeleton,
+ * which contains all open methods.
+ *
+ * @author wusheng
+ */
+public interface AbstractSpan {
+ AbstractSpan setOperationName(String operationName);
+
+ void setPeerHost(String peerHost);
+
+ void setPort(int port);
+
+ void setPeers(String peers);
+
+ AbstractSpan setTag(String key, String value);
+
+ AbstractSpan setTag(String key, boolean value);
+
+ AbstractSpan setTag(String key, Integer value);
+
+ AbstractSpan log(Map fields);
+
+ AbstractSpan log(Throwable t);
+
+ AbstractSpan log(String event);
+}
diff --git a/apm-sniffer/apm-agent-core/src/main/java/org/skywalking/apm/agent/core/context/trace/Span.java b/apm-sniffer/apm-agent-core/src/main/java/org/skywalking/apm/agent/core/context/trace/Span.java
index d194c609a9b3..dfb4a2523dfc 100644
--- a/apm-sniffer/apm-agent-core/src/main/java/org/skywalking/apm/agent/core/context/trace/Span.java
+++ b/apm-sniffer/apm-agent-core/src/main/java/org/skywalking/apm/agent/core/context/trace/Span.java
@@ -32,7 +32,7 @@
* Created by wusheng on 2017/2/17.
*/
@JsonAdapter(Span.Serializer.class)
-public class Span {
+public class Span implements AbstractSpan {
private static Gson SERIALIZATION_GSON = new GsonBuilder().excludeFieldsWithoutExposeAnnotation().create();
private int spanId;
@@ -111,7 +111,7 @@ protected Span(int spanId, int parentSpanId, String operationName, long startTim
this.spanId = spanId;
this.parentSpanId = parentSpanId;
this.startTime = startTime;
- this.operationName = operationName;
+ this.setOperationName(operationName);
}
/**
@@ -192,10 +192,12 @@ public void finish(TraceSegment owner, long endTime) {
/**
* Sets the string name for the logical operation this span represents.
+ * These is one scenario, which trigger context switch.
+ * 1) the operations ends with the defined suffix, see {@link Config.Agent#IGNORE_SUFFIX}
*
* @return this Span instance, for chaining
*/
- public Span setOperationName(String operationName) {
+ public AbstractSpan setOperationName(String operationName) {
this.operationName = operationName;
if (this.spanId == 0) {
if (operationName != null) {
diff --git a/apm-sniffer/apm-agent-core/src/test/java/org/skywalking/apm/agent/core/context/ContextManagerTestCase.java b/apm-sniffer/apm-agent-core/src/test/java/org/skywalking/apm/agent/core/context/ContextManagerTestCase.java
index 244623296ec9..050fa4c877e2 100644
--- a/apm-sniffer/apm-agent-core/src/test/java/org/skywalking/apm/agent/core/context/ContextManagerTestCase.java
+++ b/apm-sniffer/apm-agent-core/src/test/java/org/skywalking/apm/agent/core/context/ContextManagerTestCase.java
@@ -5,9 +5,9 @@
import org.junit.BeforeClass;
import org.junit.Test;
import org.skywalking.apm.agent.core.boot.ServiceManager;
-import org.skywalking.apm.agent.core.context.trace.Span;
-import org.skywalking.apm.agent.core.context.trace.TraceSegment;
import org.skywalking.apm.agent.core.context.tag.Tags;
+import org.skywalking.apm.agent.core.context.trace.AbstractSpan;
+import org.skywalking.apm.agent.core.context.trace.TraceSegment;
/**
* Created by wusheng on 2017/2/19.
@@ -20,7 +20,7 @@ public static void setup() {
@Test
public void testDelegateToTracerContext() {
- Span span = ContextManager.createSpan("serviceA");
+ AbstractSpan span = ContextManager.createSpan("serviceA");
Tags.COMPONENT.set(span, "test");
Assert.assertEquals(span, ContextManager.activeSpan());
diff --git a/apm-sniffer/apm-agent-core/src/test/java/org/skywalking/apm/agent/core/context/TracerContextTestCase.java b/apm-sniffer/apm-agent-core/src/test/java/org/skywalking/apm/agent/core/context/TracerContextTestCase.java
index 35c4c3a045c6..2857a3a4656a 100644
--- a/apm-sniffer/apm-agent-core/src/test/java/org/skywalking/apm/agent/core/context/TracerContextTestCase.java
+++ b/apm-sniffer/apm-agent-core/src/test/java/org/skywalking/apm/agent/core/context/TracerContextTestCase.java
@@ -1,16 +1,16 @@
package org.skywalking.apm.agent.core.context;
+import java.util.LinkedList;
+import java.util.List;
import org.junit.After;
import org.junit.Assert;
import org.junit.Test;
-import org.skywalking.apm.agent.core.context.trace.Span;
import org.skywalking.apm.agent.core.context.ids.DistributedTraceId;
import org.skywalking.apm.agent.core.context.ids.PropagatedTraceId;
+import org.skywalking.apm.agent.core.context.trace.AbstractSpan;
+import org.skywalking.apm.agent.core.context.trace.Span;
import org.skywalking.apm.agent.core.context.trace.TraceSegment;
-import java.util.LinkedList;
-import java.util.List;
-
/**
* Created by wusheng on 2017/2/19.
*/
@@ -18,7 +18,7 @@ public class TracerContextTestCase {
@Test
public void testSpanLifeCycle() {
TracerContext context = new TracerContext();
- Span span = context.createSpan("/serviceA", false);
+ AbstractSpan span = context.createSpan("/serviceA", false);
Assert.assertEquals(span, context.activeSpan());
@@ -34,8 +34,8 @@ public void testSpanLifeCycle() {
@Test
public void testChildOfSpan() {
TracerContext context = new TracerContext();
- Span serviceSpan = context.createSpan("/serviceA", false);
- Span dbSpan = context.createSpan("db/preparedStatement/execute", false);
+ AbstractSpan serviceSpan = context.createSpan("/serviceA", false);
+ AbstractSpan dbSpan = context.createSpan("db/preparedStatement/execute", false);
Assert.assertEquals(dbSpan, context.activeSpan());
@@ -59,8 +59,8 @@ public void testChildOfSpan() {
@Test
public void testInject() {
TracerContext context = new TracerContext();
- Span serviceSpan = context.createSpan("/serviceA", false);
- Span dbSpan = context.createSpan("db/preparedStatement/execute", false);
+ AbstractSpan serviceSpan = context.createSpan("/serviceA", false);
+ AbstractSpan dbSpan = context.createSpan("db/preparedStatement/execute", false);
dbSpan.setPeerHost("127.0.0.1");
dbSpan.setPort(8080);
@@ -86,7 +86,7 @@ public void testExtract() {
TracerContext context = new TracerContext();
context.extract(carrier);
- Span span = context.createSpan("/serviceC", false);
+ AbstractSpan span = context.createSpan("/serviceC", false);
TracerContext.ListenerManager.add(TestTracerContextListener.INSTANCE);
final TraceSegment[] finishedSegmentCarrier = TestTracerContextListener.INSTANCE.finishedSegmentCarrier;
diff --git a/apm-sniffer/apm-sdk-plugin/dubbo-plugin/src/main/java/org/skywalking/apm/plugin/dubbo/DubboInterceptor.java b/apm-sniffer/apm-sdk-plugin/dubbo-plugin/src/main/java/org/skywalking/apm/plugin/dubbo/DubboInterceptor.java
index 266e99104e1f..794756148f7a 100644
--- a/apm-sniffer/apm-sdk-plugin/dubbo-plugin/src/main/java/org/skywalking/apm/plugin/dubbo/DubboInterceptor.java
+++ b/apm-sniffer/apm-sdk-plugin/dubbo-plugin/src/main/java/org/skywalking/apm/plugin/dubbo/DubboInterceptor.java
@@ -8,14 +8,14 @@
import org.skywalking.apm.agent.core.conf.Config;
import org.skywalking.apm.agent.core.context.ContextCarrier;
import org.skywalking.apm.agent.core.context.ContextManager;
+import org.skywalking.apm.agent.core.context.tag.Tags;
+import org.skywalking.apm.agent.core.context.trace.AbstractSpan;
import org.skywalking.apm.agent.core.plugin.interceptor.EnhancedClassInstanceContext;
import org.skywalking.apm.agent.core.plugin.interceptor.enhance.InstanceMethodInvokeContext;
import org.skywalking.apm.agent.core.plugin.interceptor.enhance.InstanceMethodsAroundInterceptor;
import org.skywalking.apm.agent.core.plugin.interceptor.enhance.MethodInterceptResult;
import org.skywalking.apm.plugin.dubbox.BugFixActive;
import org.skywalking.apm.plugin.dubbox.SWBaseBean;
-import org.skywalking.apm.agent.core.context.trace.Span;
-import org.skywalking.apm.agent.core.context.tag.Tags;
/**
* {@link DubboInterceptor} define how to enhance class {@link com.alibaba.dubbo.monitor.support.MonitorFilter#invoke(Invoker,
@@ -50,7 +50,7 @@ public void beforeMethod(EnhancedClassInstanceContext context, InstanceMethodInv
boolean isConsumer = rpcContext.isConsumerSide();
URL requestURL = invoker.getUrl();
- Span span = ContextManager.createSpan(generateOperationName(requestURL, invocation));
+ AbstractSpan span = ContextManager.createSpan(generateOperationName(requestURL, invocation));
Tags.URL.set(span, generateRequestURL(requestURL, invocation));
Tags.COMPONENT.set(span, DUBBO_COMPONENT);
Tags.SPAN_LAYER.asRPCFramework(span);
@@ -111,7 +111,7 @@ public void handleMethodException(Throwable t, EnhancedClassInstanceContext cont
* Log the throwable, which occurs in Dubbo RPC service.
*/
private void dealException(Throwable throwable) {
- Span span = ContextManager.activeSpan();
+ AbstractSpan span = ContextManager.activeSpan();
Tags.ERROR.set(span, true);
span.log(throwable);
}
diff --git a/apm-sniffer/apm-sdk-plugin/feign-default-http-9.x-plugin/src/main/java/org/skywalking/apm/plugin/feign/http/v9/DefaultHttpClientInterceptor.java b/apm-sniffer/apm-sdk-plugin/feign-default-http-9.x-plugin/src/main/java/org/skywalking/apm/plugin/feign/http/v9/DefaultHttpClientInterceptor.java
index 5ebe44b374f0..4e658ef01476 100644
--- a/apm-sniffer/apm-sdk-plugin/feign-default-http-9.x-plugin/src/main/java/org/skywalking/apm/plugin/feign/http/v9/DefaultHttpClientInterceptor.java
+++ b/apm-sniffer/apm-sdk-plugin/feign-default-http-9.x-plugin/src/main/java/org/skywalking/apm/plugin/feign/http/v9/DefaultHttpClientInterceptor.java
@@ -14,12 +14,13 @@
import org.skywalking.apm.agent.core.conf.Config;
import org.skywalking.apm.agent.core.context.ContextCarrier;
import org.skywalking.apm.agent.core.context.ContextManager;
+import org.skywalking.apm.agent.core.context.tag.Tags;
+import org.skywalking.apm.agent.core.context.trace.AbstractSpan;
+import org.skywalking.apm.agent.core.context.trace.Span;
import org.skywalking.apm.agent.core.plugin.interceptor.EnhancedClassInstanceContext;
import org.skywalking.apm.agent.core.plugin.interceptor.enhance.InstanceMethodInvokeContext;
import org.skywalking.apm.agent.core.plugin.interceptor.enhance.InstanceMethodsAroundInterceptor;
import org.skywalking.apm.agent.core.plugin.interceptor.enhance.MethodInterceptResult;
-import org.skywalking.apm.agent.core.context.trace.Span;
-import org.skywalking.apm.agent.core.context.tag.Tags;
/**
* {@link DefaultHttpClientInterceptor} intercept the default implementation of http calls by the Feign.
@@ -46,7 +47,7 @@ public void beforeMethod(EnhancedClassInstanceContext context, InstanceMethodInv
Request request = (Request)interceptorContext.allArguments()[0];
URL url = new URL(request.url());
- Span span = ContextManager.createSpan(request.url());
+ AbstractSpan span = ContextManager.createSpan(request.url());
span.setPeerHost(url.getHost());
span.setPort(url.getPort());
Tags.SPAN_KIND.set(span, Tags.SPAN_KIND_CLIENT);
@@ -91,7 +92,7 @@ public Object afterMethod(EnhancedClassInstanceContext context, InstanceMethodIn
Response response = (Response)ret;
int statusCode = response.status();
- Span span = ContextManager.activeSpan();
+ AbstractSpan span = ContextManager.activeSpan();
if (statusCode >= 400) {
Tags.ERROR.set(span, true);
}
diff --git a/apm-sniffer/apm-sdk-plugin/httpClient-4.x-plugin/src/main/java/org/skywalking/apm/plugin/httpClient/v4/HttpClientExecuteInterceptor.java b/apm-sniffer/apm-sdk-plugin/httpClient-4.x-plugin/src/main/java/org/skywalking/apm/plugin/httpClient/v4/HttpClientExecuteInterceptor.java
index 25a7e78ee445..eeca193d6bb0 100644
--- a/apm-sniffer/apm-sdk-plugin/httpClient-4.x-plugin/src/main/java/org/skywalking/apm/plugin/httpClient/v4/HttpClientExecuteInterceptor.java
+++ b/apm-sniffer/apm-sdk-plugin/httpClient-4.x-plugin/src/main/java/org/skywalking/apm/plugin/httpClient/v4/HttpClientExecuteInterceptor.java
@@ -1,18 +1,21 @@
package org.skywalking.apm.plugin.httpClient.v4;
-import org.apache.http.*;
+import java.net.MalformedURLException;
+import java.net.URL;
+import org.apache.http.Header;
+import org.apache.http.HttpHost;
+import org.apache.http.HttpRequest;
+import org.apache.http.HttpResponse;
+import org.apache.http.StatusLine;
import org.skywalking.apm.agent.core.conf.Config;
import org.skywalking.apm.agent.core.context.ContextCarrier;
import org.skywalking.apm.agent.core.context.ContextManager;
+import org.skywalking.apm.agent.core.context.tag.Tags;
+import org.skywalking.apm.agent.core.context.trace.AbstractSpan;
import org.skywalking.apm.agent.core.plugin.interceptor.EnhancedClassInstanceContext;
import org.skywalking.apm.agent.core.plugin.interceptor.enhance.InstanceMethodInvokeContext;
import org.skywalking.apm.agent.core.plugin.interceptor.enhance.InstanceMethodsAroundInterceptor;
import org.skywalking.apm.agent.core.plugin.interceptor.enhance.MethodInterceptResult;
-import org.skywalking.apm.agent.core.context.trace.Span;
-import org.skywalking.apm.agent.core.context.tag.Tags;
-
-import java.net.MalformedURLException;
-import java.net.URL;
/**
* {@link HttpClientExecuteInterceptor} transport the trace context by call {@link HttpRequest#setHeader(Header)},
@@ -33,7 +36,7 @@ public void beforeMethod(EnhancedClassInstanceContext context,
}
HttpHost httpHost = (HttpHost)allArguments[0];
HttpRequest httpRequest = (HttpRequest)allArguments[1];
- Span span = createSpan(httpRequest);
+ AbstractSpan span = createSpan(httpRequest);
span.setPeerHost(httpHost.getHostName());
span.setPort(httpHost.getPort());
Tags.SPAN_KIND.set(span, Tags.SPAN_KIND_CLIENT);
@@ -58,8 +61,8 @@ private String generateURL(HttpRequest httpRequest) {
/**
* Create span.
*/
- private Span createSpan(HttpRequest httpRequest) {
- Span span;
+ private AbstractSpan createSpan(HttpRequest httpRequest) {
+ AbstractSpan span;
try {
URL url = new URL(httpRequest.getRequestLine().getUri());
span = ContextManager.createSpan(url.getPath());
@@ -79,7 +82,7 @@ public Object afterMethod(EnhancedClassInstanceContext context,
HttpResponse response = (HttpResponse)ret;
int statusCode = response.getStatusLine().getStatusCode();
- Span span = ContextManager.activeSpan();
+ AbstractSpan span = ContextManager.activeSpan();
if (statusCode != 200) {
Tags.ERROR.set(span, true);
}
diff --git a/apm-sniffer/apm-sdk-plugin/jdbc-plugin/src/main/java/org/skywalking/apm/plugin/jdbc/CallableStatementTracing.java b/apm-sniffer/apm-sdk-plugin/jdbc-plugin/src/main/java/org/skywalking/apm/plugin/jdbc/CallableStatementTracing.java
index 9e2108aae3dc..76b6b8eb1f67 100644
--- a/apm-sniffer/apm-sdk-plugin/jdbc-plugin/src/main/java/org/skywalking/apm/plugin/jdbc/CallableStatementTracing.java
+++ b/apm-sniffer/apm-sdk-plugin/jdbc-plugin/src/main/java/org/skywalking/apm/plugin/jdbc/CallableStatementTracing.java
@@ -1,11 +1,11 @@
package org.skywalking.apm.plugin.jdbc;
+import java.sql.SQLException;
import org.skywalking.apm.agent.core.context.ContextManager;
-import org.skywalking.apm.util.StringUtil;
-import org.skywalking.apm.agent.core.context.trace.Span;
import org.skywalking.apm.agent.core.context.tag.Tags;
-
-import java.sql.SQLException;
+import org.skywalking.apm.agent.core.context.trace.AbstractSpan;
+import org.skywalking.apm.agent.core.context.trace.Span;
+import org.skywalking.apm.util.StringUtil;
/**
* {@link CallableStatementTracing} create span with the {@link Span#operationName} start with
@@ -21,7 +21,7 @@ public static R execute(java.sql.CallableStatement realStatement,
ConnectionInfo connectInfo, String method, String sql, Executable exec)
throws SQLException {
try {
- Span span = ContextManager.createSpan(connectInfo.getDBType() + "/JDBI/CallableStatement/" + method);
+ AbstractSpan span = ContextManager.createSpan(connectInfo.getDBType() + "/JDBI/CallableStatement/" + method);
Tags.DB_TYPE.set(span, "sql");
Tags.SPAN_KIND.set(span, Tags.SPAN_KIND_CLIENT);
Tags.DB_INSTANCE.set(span, connectInfo.getDatabaseName());
@@ -36,7 +36,7 @@ public static R execute(java.sql.CallableStatement realStatement,
}
return exec.exe(realStatement, sql);
} catch (SQLException e) {
- Span span = ContextManager.activeSpan();
+ AbstractSpan span = ContextManager.activeSpan();
Tags.ERROR.set(span, true);
span.log(e);
throw e;
diff --git a/apm-sniffer/apm-sdk-plugin/jdbc-plugin/src/main/java/org/skywalking/apm/plugin/jdbc/ConnectionTracing.java b/apm-sniffer/apm-sdk-plugin/jdbc-plugin/src/main/java/org/skywalking/apm/plugin/jdbc/ConnectionTracing.java
index 25a1ce2e3eff..b20421b6bc27 100755
--- a/apm-sniffer/apm-sdk-plugin/jdbc-plugin/src/main/java/org/skywalking/apm/plugin/jdbc/ConnectionTracing.java
+++ b/apm-sniffer/apm-sdk-plugin/jdbc-plugin/src/main/java/org/skywalking/apm/plugin/jdbc/ConnectionTracing.java
@@ -1,6 +1,7 @@
package org.skywalking.apm.plugin.jdbc;
import org.skywalking.apm.agent.core.context.ContextManager;
+import org.skywalking.apm.agent.core.context.trace.AbstractSpan;
import org.skywalking.apm.util.StringUtil;
import org.skywalking.apm.agent.core.context.trace.Span;
import org.skywalking.apm.agent.core.context.tag.Tags;
@@ -21,7 +22,7 @@ public static R execute(java.sql.Connection realConnection,
ConnectionInfo connectInfo, String method, String sql, Executable exec)
throws SQLException {
try {
- Span span = ContextManager.createSpan(connectInfo.getDBType() + "/JDBI/Connection/" + method);
+ AbstractSpan span = ContextManager.createSpan(connectInfo.getDBType() + "/JDBI/Connection/" + method);
Tags.DB_TYPE.set(span, "sql");
Tags.SPAN_KIND.set(span, Tags.SPAN_KIND_CLIENT);
Tags.DB_INSTANCE.set(span, connectInfo.getDatabaseName());
@@ -36,7 +37,7 @@ public static R execute(java.sql.Connection realConnection,
}
return exec.exe(realConnection, sql);
} catch (SQLException e) {
- Span span = ContextManager.activeSpan();
+ AbstractSpan span = ContextManager.activeSpan();
Tags.ERROR.set(span, true);
span.log(e);
throw e;
diff --git a/apm-sniffer/apm-sdk-plugin/jdbc-plugin/src/main/java/org/skywalking/apm/plugin/jdbc/PreparedStatementTracing.java b/apm-sniffer/apm-sdk-plugin/jdbc-plugin/src/main/java/org/skywalking/apm/plugin/jdbc/PreparedStatementTracing.java
index 0e4716daeafb..4dea978ff75c 100644
--- a/apm-sniffer/apm-sdk-plugin/jdbc-plugin/src/main/java/org/skywalking/apm/plugin/jdbc/PreparedStatementTracing.java
+++ b/apm-sniffer/apm-sdk-plugin/jdbc-plugin/src/main/java/org/skywalking/apm/plugin/jdbc/PreparedStatementTracing.java
@@ -1,11 +1,11 @@
package org.skywalking.apm.plugin.jdbc;
+import java.sql.SQLException;
import org.skywalking.apm.agent.core.context.ContextManager;
-import org.skywalking.apm.util.StringUtil;
-import org.skywalking.apm.agent.core.context.trace.Span;
import org.skywalking.apm.agent.core.context.tag.Tags;
-
-import java.sql.SQLException;
+import org.skywalking.apm.agent.core.context.trace.AbstractSpan;
+import org.skywalking.apm.agent.core.context.trace.Span;
+import org.skywalking.apm.util.StringUtil;
/**
* {@link PreparedStatementTracing} create span with the {@link Span#operationName} start with
@@ -21,7 +21,7 @@ public static R execute(java.sql.PreparedStatement realStatement,
ConnectionInfo connectInfo, String method, String sql, Executable exec)
throws SQLException {
try {
- Span span = ContextManager.createSpan(connectInfo.getDBType() + "/JDBI/PreparedStatement/" + method);
+ AbstractSpan span = ContextManager.createSpan(connectInfo.getDBType() + "/JDBI/PreparedStatement/" + method);
Tags.DB_TYPE.set(span, "sql");
Tags.SPAN_KIND.set(span, Tags.SPAN_KIND_CLIENT);
Tags.DB_INSTANCE.set(span, connectInfo.getDatabaseName());
@@ -36,7 +36,7 @@ public static R execute(java.sql.PreparedStatement realStatement,
Tags.SPAN_LAYER.asDB(span);
return exec.exe(realStatement, sql);
} catch (SQLException e) {
- Span span = ContextManager.activeSpan();
+ AbstractSpan span = ContextManager.activeSpan();
Tags.ERROR.set(span, true);
span.log(e);
throw e;
diff --git a/apm-sniffer/apm-sdk-plugin/jdbc-plugin/src/main/java/org/skywalking/apm/plugin/jdbc/StatementTracing.java b/apm-sniffer/apm-sdk-plugin/jdbc-plugin/src/main/java/org/skywalking/apm/plugin/jdbc/StatementTracing.java
index ad0ce9399a88..d28c09d57e5c 100644
--- a/apm-sniffer/apm-sdk-plugin/jdbc-plugin/src/main/java/org/skywalking/apm/plugin/jdbc/StatementTracing.java
+++ b/apm-sniffer/apm-sdk-plugin/jdbc-plugin/src/main/java/org/skywalking/apm/plugin/jdbc/StatementTracing.java
@@ -1,11 +1,11 @@
package org.skywalking.apm.plugin.jdbc;
+import java.sql.SQLException;
import org.skywalking.apm.agent.core.context.ContextManager;
-import org.skywalking.apm.util.StringUtil;
-import org.skywalking.apm.agent.core.context.trace.Span;
import org.skywalking.apm.agent.core.context.tag.Tags;
-
-import java.sql.SQLException;
+import org.skywalking.apm.agent.core.context.trace.AbstractSpan;
+import org.skywalking.apm.agent.core.context.trace.Span;
+import org.skywalking.apm.util.StringUtil;
/**
* {@link StatementTracing} create span with the {@link Span#operationName} start with
@@ -20,7 +20,7 @@ public static R execute(java.sql.Statement realStatement,
ConnectionInfo connectInfo, String method, String sql, Executable exec)
throws SQLException {
try {
- Span span = ContextManager.createSpan(connectInfo.getDBType() + "/JDBI/Statement/" + method);
+ AbstractSpan span = ContextManager.createSpan(connectInfo.getDBType() + "/JDBI/Statement/" + method);
Tags.DB_TYPE.set(span, "sql");
Tags.SPAN_KIND.set(span, Tags.SPAN_KIND_CLIENT);
Tags.DB_INSTANCE.set(span, connectInfo.getDatabaseName());
@@ -35,7 +35,7 @@ public static R execute(java.sql.Statement realStatement,
}
return exec.exe(realStatement, sql);
} catch (SQLException e) {
- Span span = ContextManager.activeSpan();
+ AbstractSpan span = ContextManager.activeSpan();
Tags.ERROR.set(span, true);
span.log(e);
throw e;
diff --git a/apm-sniffer/apm-sdk-plugin/jedis-2.x-plugin/src/main/java/org/skywalking/apm/plugin/jedis/v2/JedisMethodInterceptor.java b/apm-sniffer/apm-sdk-plugin/jedis-2.x-plugin/src/main/java/org/skywalking/apm/plugin/jedis/v2/JedisMethodInterceptor.java
index a4885dcfb43e..d7c90d5fc14f 100644
--- a/apm-sniffer/apm-sdk-plugin/jedis-2.x-plugin/src/main/java/org/skywalking/apm/plugin/jedis/v2/JedisMethodInterceptor.java
+++ b/apm-sniffer/apm-sdk-plugin/jedis-2.x-plugin/src/main/java/org/skywalking/apm/plugin/jedis/v2/JedisMethodInterceptor.java
@@ -1,13 +1,13 @@
package org.skywalking.apm.plugin.jedis.v2;
import org.skywalking.apm.agent.core.context.ContextManager;
+import org.skywalking.apm.agent.core.context.tag.Tags;
+import org.skywalking.apm.agent.core.context.trace.AbstractSpan;
import org.skywalking.apm.agent.core.plugin.interceptor.EnhancedClassInstanceContext;
import org.skywalking.apm.agent.core.plugin.interceptor.assist.NoConcurrencyAccessObject;
import org.skywalking.apm.agent.core.plugin.interceptor.enhance.InstanceMethodInvokeContext;
import org.skywalking.apm.agent.core.plugin.interceptor.enhance.InstanceMethodsAroundInterceptor;
import org.skywalking.apm.agent.core.plugin.interceptor.enhance.MethodInterceptResult;
-import org.skywalking.apm.agent.core.context.trace.Span;
-import org.skywalking.apm.agent.core.context.tag.Tags;
import org.skywalking.apm.util.StringUtil;
/**
@@ -50,7 +50,7 @@ public void beforeMethod(final EnhancedClassInstanceContext context,
/**
* set peer host information for the current active span.
*/
- private void tagPeer(Span span, EnhancedClassInstanceContext context) {
+ private void tagPeer(AbstractSpan span, EnhancedClassInstanceContext context) {
String redisHosts = (String)context.get(KEY_OF_REDIS_HOSTS);
if (!StringUtil.isEmpty(redisHosts)) {
span.setPeers((String)context.get(KEY_OF_REDIS_HOST));
@@ -78,7 +78,7 @@ public void handleMethodException(Throwable t, EnhancedClassInstanceContext cont
@Override
protected void enter(EnhancedClassInstanceContext context, InstanceMethodInvokeContext interceptorContext) {
- Span span = ContextManager.createSpan("Jedis/" + interceptorContext.methodName());
+ AbstractSpan span = ContextManager.createSpan("Jedis/" + interceptorContext.methodName());
Tags.COMPONENT.set(span, REDIS_COMPONENT);
Tags.DB_TYPE.set(span, REDIS_COMPONENT);
Tags.SPAN_KIND.set(span, Tags.SPAN_KIND_CLIENT);
diff --git a/apm-sniffer/apm-sdk-plugin/mongodb-3.x-plugin/src/main/java/org/skywalking/apm/plugin/mongodb/v3/MongoDBMethodInterceptor.java b/apm-sniffer/apm-sdk-plugin/mongodb-3.x-plugin/src/main/java/org/skywalking/apm/plugin/mongodb/v3/MongoDBMethodInterceptor.java
index 0d9928dbcdca..546b968b384f 100644
--- a/apm-sniffer/apm-sdk-plugin/mongodb-3.x-plugin/src/main/java/org/skywalking/apm/plugin/mongodb/v3/MongoDBMethodInterceptor.java
+++ b/apm-sniffer/apm-sdk-plugin/mongodb-3.x-plugin/src/main/java/org/skywalking/apm/plugin/mongodb/v3/MongoDBMethodInterceptor.java
@@ -5,18 +5,35 @@
import com.mongodb.bulk.InsertRequest;
import com.mongodb.bulk.UpdateRequest;
import com.mongodb.bulk.WriteRequest;
-import com.mongodb.operation.*;
+import com.mongodb.operation.CountOperation;
+import com.mongodb.operation.CreateCollectionOperation;
+import com.mongodb.operation.CreateIndexesOperation;
+import com.mongodb.operation.CreateViewOperation;
+import com.mongodb.operation.DeleteOperation;
+import com.mongodb.operation.DistinctOperation;
+import com.mongodb.operation.FindAndDeleteOperation;
+import com.mongodb.operation.FindAndReplaceOperation;
+import com.mongodb.operation.FindAndUpdateOperation;
+import com.mongodb.operation.FindOperation;
+import com.mongodb.operation.GroupOperation;
+import com.mongodb.operation.InsertOperation;
+import com.mongodb.operation.ListCollectionsOperation;
+import com.mongodb.operation.MapReduceToCollectionOperation;
+import com.mongodb.operation.MapReduceWithInlineResultsOperation;
+import com.mongodb.operation.MixedBulkWriteOperation;
+import com.mongodb.operation.ReadOperation;
+import com.mongodb.operation.UpdateOperation;
+import com.mongodb.operation.WriteOperation;
+import java.util.List;
import org.bson.BsonDocument;
import org.skywalking.apm.agent.core.conf.Config;
import org.skywalking.apm.agent.core.context.ContextManager;
+import org.skywalking.apm.agent.core.context.tag.Tags;
+import org.skywalking.apm.agent.core.context.trace.AbstractSpan;
import org.skywalking.apm.agent.core.plugin.interceptor.EnhancedClassInstanceContext;
import org.skywalking.apm.agent.core.plugin.interceptor.enhance.InstanceMethodInvokeContext;
import org.skywalking.apm.agent.core.plugin.interceptor.enhance.InstanceMethodsAroundInterceptor;
import org.skywalking.apm.agent.core.plugin.interceptor.enhance.MethodInterceptResult;
-import org.skywalking.apm.agent.core.context.trace.Span;
-import org.skywalking.apm.agent.core.context.tag.Tags;
-
-import java.util.List;
/**
* {@link MongoDBMethodInterceptor} intercept method of {@link com.mongodb.Mongo#execute(ReadOperation, ReadPreference)}
@@ -51,7 +68,7 @@ public void beforeMethod(final EnhancedClassInstanceContext context,
Object[] arguments = interceptorContext.allArguments();
String methodName = arguments[0].getClass().getSimpleName();
- Span span = ContextManager.createSpan(METHOD + methodName);
+ AbstractSpan span = ContextManager.createSpan(METHOD + methodName);
Tags.COMPONENT.set(span, MONGODB_COMPONENT);
Tags.DB_TYPE.set(span, MONGODB_COMPONENT);
Tags.SPAN_KIND.set(span, Tags.SPAN_KIND_CLIENT);
@@ -66,7 +83,7 @@ public void beforeMethod(final EnhancedClassInstanceContext context,
@Override
public Object afterMethod(EnhancedClassInstanceContext context, InstanceMethodInvokeContext interceptorContext,
Object ret) {
- Span span = ContextManager.activeSpan();
+ AbstractSpan span = ContextManager.activeSpan();
span.setPeerHost((String)context.get(MONGODB_HOST));
span.setPort((Integer)context.get(MONGODB_PORT));
ContextManager.stopSpan();
diff --git a/apm-sniffer/apm-sdk-plugin/motan-plugin/src/main/java/org/skywalking/apm/plugin/motan/MotanConsumerInterceptor.java b/apm-sniffer/apm-sdk-plugin/motan-plugin/src/main/java/org/skywalking/apm/plugin/motan/MotanConsumerInterceptor.java
index 3e34b26618e1..e1592628eb14 100644
--- a/apm-sniffer/apm-sdk-plugin/motan-plugin/src/main/java/org/skywalking/apm/plugin/motan/MotanConsumerInterceptor.java
+++ b/apm-sniffer/apm-sdk-plugin/motan-plugin/src/main/java/org/skywalking/apm/plugin/motan/MotanConsumerInterceptor.java
@@ -6,14 +6,14 @@
import org.skywalking.apm.agent.core.conf.Config;
import org.skywalking.apm.agent.core.context.ContextCarrier;
import org.skywalking.apm.agent.core.context.ContextManager;
+import org.skywalking.apm.agent.core.context.tag.Tags;
+import org.skywalking.apm.agent.core.context.trace.AbstractSpan;
import org.skywalking.apm.agent.core.plugin.interceptor.EnhancedClassInstanceContext;
import org.skywalking.apm.agent.core.plugin.interceptor.enhance.ConstructorInvokeContext;
import org.skywalking.apm.agent.core.plugin.interceptor.enhance.InstanceConstructorInterceptor;
import org.skywalking.apm.agent.core.plugin.interceptor.enhance.InstanceMethodInvokeContext;
import org.skywalking.apm.agent.core.plugin.interceptor.enhance.InstanceMethodsAroundInterceptor;
import org.skywalking.apm.agent.core.plugin.interceptor.enhance.MethodInterceptResult;
-import org.skywalking.apm.agent.core.context.trace.Span;
-import org.skywalking.apm.agent.core.context.tag.Tags;
/**
* {@link MotanProviderInterceptor} create span by fetch request url from
@@ -45,7 +45,7 @@ public void beforeMethod(EnhancedClassInstanceContext context, InstanceMethodInv
URL url = (URL) context.get(KEY_NAME_OF_REQUEST_URL);
Request request = (Request) interceptorContext.allArguments()[0];
if (url != null) {
- Span span = ContextManager.createSpan(generateOperationName(url, request));
+ AbstractSpan span = ContextManager.createSpan(generateOperationName(url, request));
span.setPeerHost(url.getHost());
span.setPort(url.getPort());
Tags.COMPONENT.set(span, MOTAN_COMPONENT);
@@ -64,7 +64,7 @@ public Object afterMethod(EnhancedClassInstanceContext context, InstanceMethodIn
Object ret) {
Response response = (Response) ret;
if (response != null && response.getException() != null) {
- Span span = ContextManager.activeSpan();
+ AbstractSpan span = ContextManager.activeSpan();
Tags.ERROR.set(span, true);
span.log(response.getException());
}
diff --git a/apm-sniffer/apm-sdk-plugin/motan-plugin/src/main/java/org/skywalking/apm/plugin/motan/MotanProviderInterceptor.java b/apm-sniffer/apm-sdk-plugin/motan-plugin/src/main/java/org/skywalking/apm/plugin/motan/MotanProviderInterceptor.java
index 8ea879ce613a..6e1945b6d588 100644
--- a/apm-sniffer/apm-sdk-plugin/motan-plugin/src/main/java/org/skywalking/apm/plugin/motan/MotanProviderInterceptor.java
+++ b/apm-sniffer/apm-sdk-plugin/motan-plugin/src/main/java/org/skywalking/apm/plugin/motan/MotanProviderInterceptor.java
@@ -5,13 +5,13 @@
import org.skywalking.apm.agent.core.conf.Config;
import org.skywalking.apm.agent.core.context.ContextCarrier;
import org.skywalking.apm.agent.core.context.ContextManager;
+import org.skywalking.apm.agent.core.context.tag.Tags;
+import org.skywalking.apm.agent.core.context.trace.AbstractSpan;
import org.skywalking.apm.agent.core.plugin.interceptor.EnhancedClassInstanceContext;
import org.skywalking.apm.agent.core.plugin.interceptor.enhance.InstanceMethodInvokeContext;
import org.skywalking.apm.agent.core.plugin.interceptor.enhance.InstanceMethodsAroundInterceptor;
import org.skywalking.apm.agent.core.plugin.interceptor.enhance.MethodInterceptResult;
import org.skywalking.apm.util.StringUtil;
-import org.skywalking.apm.agent.core.context.trace.Span;
-import org.skywalking.apm.agent.core.context.tag.Tags;
/**
* Current trace segment will ref the trace segment if the serialized trace context that fetch from {@link
@@ -32,7 +32,7 @@ public class MotanProviderInterceptor implements InstanceMethodsAroundIntercepto
public void beforeMethod(EnhancedClassInstanceContext context, InstanceMethodInvokeContext interceptorContext,
MethodInterceptResult result) {
Request request = (Request) interceptorContext.allArguments()[0];
- Span span = ContextManager.createSpan(generateViewPoint(request));
+ AbstractSpan span = ContextManager.createSpan(generateViewPoint(request));
Tags.COMPONENT.set(span, MOTAN_COMPONENT);
Tags.SPAN_KIND.set(span, Tags.SPAN_KIND_SERVER);
Tags.SPAN_LAYER.asRPCFramework(span);
@@ -48,7 +48,7 @@ public Object afterMethod(EnhancedClassInstanceContext context, InstanceMethodIn
Object ret) {
Response response = (Response) ret;
if (response != null && response.getException() != null) {
- Span span = ContextManager.activeSpan();
+ AbstractSpan span = ContextManager.activeSpan();
span.log(response.getException());
Tags.ERROR.set(span, true);
}
diff --git a/apm-sniffer/apm-sdk-plugin/okhttp-3.x-plugin/src/main/java/org/skywalking/apm/plugin/okhttp/v3/RealCallInterceptor.java b/apm-sniffer/apm-sdk-plugin/okhttp-3.x-plugin/src/main/java/org/skywalking/apm/plugin/okhttp/v3/RealCallInterceptor.java
index 1b2c49d70b85..fc57eaf86019 100644
--- a/apm-sniffer/apm-sdk-plugin/okhttp-3.x-plugin/src/main/java/org/skywalking/apm/plugin/okhttp/v3/RealCallInterceptor.java
+++ b/apm-sniffer/apm-sdk-plugin/okhttp-3.x-plugin/src/main/java/org/skywalking/apm/plugin/okhttp/v3/RealCallInterceptor.java
@@ -9,14 +9,15 @@
import org.skywalking.apm.agent.core.conf.Config;
import org.skywalking.apm.agent.core.context.ContextCarrier;
import org.skywalking.apm.agent.core.context.ContextManager;
+import org.skywalking.apm.agent.core.context.tag.Tags;
+import org.skywalking.apm.agent.core.context.trace.AbstractSpan;
+import org.skywalking.apm.agent.core.context.trace.Span;
import org.skywalking.apm.agent.core.plugin.interceptor.EnhancedClassInstanceContext;
import org.skywalking.apm.agent.core.plugin.interceptor.enhance.ConstructorInvokeContext;
import org.skywalking.apm.agent.core.plugin.interceptor.enhance.InstanceConstructorInterceptor;
import org.skywalking.apm.agent.core.plugin.interceptor.enhance.InstanceMethodInvokeContext;
import org.skywalking.apm.agent.core.plugin.interceptor.enhance.InstanceMethodsAroundInterceptor;
import org.skywalking.apm.agent.core.plugin.interceptor.enhance.MethodInterceptResult;
-import org.skywalking.apm.agent.core.context.trace.Span;
-import org.skywalking.apm.agent.core.context.tag.Tags;
/**
* {@link RealCallInterceptor} intercept the synchronous http calls by the client of okhttp.
@@ -57,7 +58,7 @@ public void beforeMethod(EnhancedClassInstanceContext context, InstanceMethodInv
MethodInterceptResult result) throws Throwable {
Request request = (Request)context.get(REQUEST_CONTEXT_KEY);
- Span span = ContextManager.createSpan(request.url().uri().toString());
+ AbstractSpan span = ContextManager.createSpan(request.url().uri().toString());
span.setPeerHost(request.url().host());
span.setPort(request.url().port());
Tags.SPAN_KIND.set(span, Tags.SPAN_KIND_CLIENT);
@@ -96,7 +97,7 @@ public Object afterMethod(EnhancedClassInstanceContext context, InstanceMethodIn
Response response = (Response)ret;
int statusCode = response.code();
- Span span = ContextManager.activeSpan();
+ AbstractSpan span = ContextManager.activeSpan();
if (statusCode >= 400) {
Tags.ERROR.set(span, true);
}
diff --git a/apm-sniffer/apm-sdk-plugin/resin-3.x-plugin/src/main/java/org/skywalking/apm/plugin/resin/v3/ResinV3Interceptor.java b/apm-sniffer/apm-sdk-plugin/resin-3.x-plugin/src/main/java/org/skywalking/apm/plugin/resin/v3/ResinV3Interceptor.java
index 2e89fd08ea3d..ea273d2d561a 100644
--- a/apm-sniffer/apm-sdk-plugin/resin-3.x-plugin/src/main/java/org/skywalking/apm/plugin/resin/v3/ResinV3Interceptor.java
+++ b/apm-sniffer/apm-sdk-plugin/resin-3.x-plugin/src/main/java/org/skywalking/apm/plugin/resin/v3/ResinV3Interceptor.java
@@ -5,12 +5,12 @@
import org.skywalking.apm.agent.core.conf.Config;
import org.skywalking.apm.agent.core.context.ContextCarrier;
import org.skywalking.apm.agent.core.context.ContextManager;
+import org.skywalking.apm.agent.core.context.tag.Tags;
+import org.skywalking.apm.agent.core.context.trace.AbstractSpan;
import org.skywalking.apm.agent.core.plugin.interceptor.EnhancedClassInstanceContext;
import org.skywalking.apm.agent.core.plugin.interceptor.enhance.InstanceMethodInvokeContext;
import org.skywalking.apm.agent.core.plugin.interceptor.enhance.InstanceMethodsAroundInterceptor;
import org.skywalking.apm.agent.core.plugin.interceptor.enhance.MethodInterceptResult;
-import org.skywalking.apm.agent.core.context.trace.Span;
-import org.skywalking.apm.agent.core.context.tag.Tags;
import org.skywalking.apm.util.StringUtil;
/**
@@ -30,7 +30,7 @@ public void beforeMethod(EnhancedClassInstanceContext context, InstanceMethodInv
MethodInterceptResult result) {
Object[] args = interceptorContext.allArguments();
CauchoRequest request = (CauchoRequest)args[0];
- Span span = ContextManager.createSpan(request.getPageURI());
+ AbstractSpan span = ContextManager.createSpan(request.getPageURI());
Tags.COMPONENT.set(span, RESIN_COMPONENT);
span.setPeerHost(request.getServerName());
span.setPort(request.getServerPort());
@@ -65,7 +65,7 @@ private String appendRequestURL(CauchoRequest request) {
public Object afterMethod(EnhancedClassInstanceContext context, InstanceMethodInvokeContext interceptorContext,
Object ret) {
HttpResponse response = (HttpResponse)interceptorContext.allArguments()[1];
- Span span = ContextManager.activeSpan();
+ AbstractSpan span = ContextManager.activeSpan();
Tags.STATUS_CODE.set(span, response.getStatusCode());
if (response.getStatusCode() != 200) {
@@ -78,7 +78,7 @@ public Object afterMethod(EnhancedClassInstanceContext context, InstanceMethodIn
@Override
public void handleMethodException(Throwable t, EnhancedClassInstanceContext context,
InstanceMethodInvokeContext interceptorContext) {
- Span span = ContextManager.activeSpan();
+ AbstractSpan span = ContextManager.activeSpan();
span.log(t);
Tags.ERROR.set(span, true);
}
diff --git a/apm-sniffer/apm-sdk-plugin/resin-4.x-plugin/src/main/java/org/skywalking/apm/plugin/resin/v4/ResinV4Interceptor.java b/apm-sniffer/apm-sdk-plugin/resin-4.x-plugin/src/main/java/org/skywalking/apm/plugin/resin/v4/ResinV4Interceptor.java
index 5cfc5044f2e6..682d2b407beb 100644
--- a/apm-sniffer/apm-sdk-plugin/resin-4.x-plugin/src/main/java/org/skywalking/apm/plugin/resin/v4/ResinV4Interceptor.java
+++ b/apm-sniffer/apm-sdk-plugin/resin-4.x-plugin/src/main/java/org/skywalking/apm/plugin/resin/v4/ResinV4Interceptor.java
@@ -5,12 +5,12 @@
import org.skywalking.apm.agent.core.conf.Config;
import org.skywalking.apm.agent.core.context.ContextCarrier;
import org.skywalking.apm.agent.core.context.ContextManager;
+import org.skywalking.apm.agent.core.context.tag.Tags;
+import org.skywalking.apm.agent.core.context.trace.AbstractSpan;
import org.skywalking.apm.agent.core.plugin.interceptor.EnhancedClassInstanceContext;
import org.skywalking.apm.agent.core.plugin.interceptor.enhance.InstanceMethodInvokeContext;
import org.skywalking.apm.agent.core.plugin.interceptor.enhance.InstanceMethodsAroundInterceptor;
import org.skywalking.apm.agent.core.plugin.interceptor.enhance.MethodInterceptResult;
-import org.skywalking.apm.agent.core.context.trace.Span;
-import org.skywalking.apm.agent.core.context.tag.Tags;
import org.skywalking.apm.util.StringUtil;
/**
@@ -27,7 +27,7 @@ public void beforeMethod(EnhancedClassInstanceContext context, InstanceMethodInv
MethodInterceptResult result) {
Object[] args = interceptorContext.allArguments();
CauchoRequest request = (CauchoRequest)args[0];
- Span span = ContextManager.createSpan(request.getPageURI());
+ AbstractSpan span = ContextManager.createSpan(request.getPageURI());
Tags.COMPONENT.set(span, RESIN_COMPONENT);
span.setPeerHost(request.getServerName());
span.setPort(request.getServerPort());
@@ -62,7 +62,7 @@ private String appendRequestURL(CauchoRequest request) {
public Object afterMethod(EnhancedClassInstanceContext context, InstanceMethodInvokeContext interceptorContext,
Object ret) {
HttpServletResponse response = (HttpServletResponse)interceptorContext.allArguments()[1];
- Span span = ContextManager.activeSpan();
+ AbstractSpan span = ContextManager.activeSpan();
Tags.STATUS_CODE.set(span, response.getStatus());
if (response.getStatus() != 200) {
@@ -75,7 +75,7 @@ public Object afterMethod(EnhancedClassInstanceContext context, InstanceMethodIn
@Override
public void handleMethodException(Throwable t, EnhancedClassInstanceContext context,
InstanceMethodInvokeContext interceptorContext) {
- Span span = ContextManager.activeSpan();
+ AbstractSpan span = ContextManager.activeSpan();
span.log(t);
Tags.ERROR.set(span, true);
}
diff --git a/apm-sniffer/apm-sdk-plugin/tomcat-7.x-8.x-plugin/src/main/java/org/skywalking/apm/plugin/tomcat78x/TomcatInterceptor.java b/apm-sniffer/apm-sdk-plugin/tomcat-7.x-8.x-plugin/src/main/java/org/skywalking/apm/plugin/tomcat78x/TomcatInterceptor.java
index 08d777a00c7e..80541fffe6c4 100644
--- a/apm-sniffer/apm-sdk-plugin/tomcat-7.x-8.x-plugin/src/main/java/org/skywalking/apm/plugin/tomcat78x/TomcatInterceptor.java
+++ b/apm-sniffer/apm-sdk-plugin/tomcat-7.x-8.x-plugin/src/main/java/org/skywalking/apm/plugin/tomcat78x/TomcatInterceptor.java
@@ -1,19 +1,18 @@
package org.skywalking.apm.plugin.tomcat78x;
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
import org.skywalking.apm.agent.core.conf.Config;
import org.skywalking.apm.agent.core.context.ContextCarrier;
import org.skywalking.apm.agent.core.context.ContextManager;
+import org.skywalking.apm.agent.core.context.tag.Tags;
+import org.skywalking.apm.agent.core.context.trace.AbstractSpan;
+import org.skywalking.apm.agent.core.context.trace.TraceSegment;
import org.skywalking.apm.agent.core.plugin.interceptor.EnhancedClassInstanceContext;
import org.skywalking.apm.agent.core.plugin.interceptor.enhance.InstanceMethodInvokeContext;
import org.skywalking.apm.agent.core.plugin.interceptor.enhance.InstanceMethodsAroundInterceptor;
import org.skywalking.apm.agent.core.plugin.interceptor.enhance.MethodInterceptResult;
import org.skywalking.apm.util.StringUtil;
-import org.skywalking.apm.agent.core.context.trace.Span;
-import org.skywalking.apm.agent.core.context.trace.TraceSegment;
-import org.skywalking.apm.agent.core.context.tag.Tags;
-
-import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.HttpServletResponse;
/**
* {@link TomcatInterceptor} fetch the serialized context data by using {@link HttpServletRequest#getHeader(String)}.
@@ -40,7 +39,7 @@ public void beforeMethod(EnhancedClassInstanceContext context, InstanceMethodInv
Object[] args = interceptorContext.allArguments();
HttpServletRequest request = (HttpServletRequest) args[0];
- Span span = ContextManager.createSpan(request.getRequestURI());
+ AbstractSpan span = ContextManager.createSpan(request.getRequestURI());
Tags.COMPONENT.set(span, TOMCAT_COMPONENT);
span.setPeerHost(fetchRequestPeerHost(request));
span.setPort(request.getRemotePort());
@@ -59,7 +58,7 @@ public Object afterMethod(EnhancedClassInstanceContext context, InstanceMethodIn
Object ret) {
HttpServletResponse response = (HttpServletResponse) interceptorContext.allArguments()[1];
- Span span = ContextManager.activeSpan();
+ AbstractSpan span = ContextManager.activeSpan();
Tags.STATUS_CODE.set(span, response.getStatus());
if (response.getStatus() != 200) {
@@ -73,7 +72,7 @@ public Object afterMethod(EnhancedClassInstanceContext context, InstanceMethodIn
@Override
public void handleMethodException(Throwable t, EnhancedClassInstanceContext context,
InstanceMethodInvokeContext interceptorContext) {
- Span span = ContextManager.activeSpan();
+ AbstractSpan span = ContextManager.activeSpan();
span.log(t);
Tags.ERROR.set(span, true);
}
diff --git a/apm-sniffer/apm-sniffer-mock/src/main/java/org/skywalking/apm/sniffer/mock/trace/builders/span/DubboSpanGenerator.java b/apm-sniffer/apm-sniffer-mock/src/main/java/org/skywalking/apm/sniffer/mock/trace/builders/span/DubboSpanGenerator.java
index b31b527d4240..617d33e56c38 100644
--- a/apm-sniffer/apm-sniffer-mock/src/main/java/org/skywalking/apm/sniffer/mock/trace/builders/span/DubboSpanGenerator.java
+++ b/apm-sniffer/apm-sniffer-mock/src/main/java/org/skywalking/apm/sniffer/mock/trace/builders/span/DubboSpanGenerator.java
@@ -1,8 +1,8 @@
package org.skywalking.apm.sniffer.mock.trace.builders.span;
import org.skywalking.apm.agent.core.context.ContextManager;
-import org.skywalking.apm.agent.core.context.trace.Span;
import org.skywalking.apm.agent.core.context.tag.Tags;
+import org.skywalking.apm.agent.core.context.trace.AbstractSpan;
/**
* The DubboSpanGenerator
generates all possible spans, by tracing Dubbo rpc.
@@ -14,7 +14,7 @@ public class DubboSpanGenerator {
public static class Client extends SpanGeneration {
@Override
protected void before() {
- Span span = ContextManager.createSpan("/default_rpc/org.skywalking.apm.test.persistence.PersistenceService.query");
+ AbstractSpan span = ContextManager.createSpan("/default_rpc/org.skywalking.apm.test.persistence.PersistenceService.query");
Tags.COMPONENT.set(span, "Dubbo");
Tags.URL.set(span, "rest://192.168.1.8:20880/default_rpc/org.skywalking.apm.test.persistence.PersistenceService.query(String)");
Tags.SPAN_KIND.set(span, Tags.SPAN_KIND_SERVER);
@@ -32,7 +32,7 @@ protected void after() {
public static class Server extends SpanGeneration {
@Override
protected void before() {
- Span span = ContextManager.createSpan("/default_rpc/org.skywalking.apm.test.persistence.PersistenceService.query");
+ AbstractSpan span = ContextManager.createSpan("/default_rpc/org.skywalking.apm.test.persistence.PersistenceService.query");
Tags.COMPONENT.set(span, "Dubbo");
Tags.URL.set(span, "rest://192.168.1.8:20880/default_rpc/org.skywalking.apm.test.persistence.PersistenceService.query(String)");
Tags.SPAN_KIND.set(span, Tags.SPAN_KIND_CLIENT);
diff --git a/apm-sniffer/apm-sniffer-mock/src/main/java/org/skywalking/apm/sniffer/mock/trace/builders/span/MySQLGenerator.java b/apm-sniffer/apm-sniffer-mock/src/main/java/org/skywalking/apm/sniffer/mock/trace/builders/span/MySQLGenerator.java
index cc2757a2586d..7516078de5e8 100644
--- a/apm-sniffer/apm-sniffer-mock/src/main/java/org/skywalking/apm/sniffer/mock/trace/builders/span/MySQLGenerator.java
+++ b/apm-sniffer/apm-sniffer-mock/src/main/java/org/skywalking/apm/sniffer/mock/trace/builders/span/MySQLGenerator.java
@@ -1,8 +1,8 @@
package org.skywalking.apm.sniffer.mock.trace.builders.span;
import org.skywalking.apm.agent.core.context.ContextManager;
-import org.skywalking.apm.agent.core.context.trace.Span;
import org.skywalking.apm.agent.core.context.tag.Tags;
+import org.skywalking.apm.agent.core.context.trace.AbstractSpan;
/**
* The MySQLGenerator
generates all possible spans, by tracing mysql client access.
@@ -13,7 +13,7 @@ public class MySQLGenerator {
public static class Query extends SpanGeneration {
@Override
protected void before() {
- Span span = ContextManager.createSpan("mysql/jdbi/statement/executeQuery");
+ AbstractSpan span = ContextManager.createSpan("mysql/jdbi/statement/executeQuery");
Tags.COMPONENT.set(span, "Mysql");
Tags.SPAN_KIND.set(span, Tags.SPAN_KIND_CLIENT);
span.setPeerHost("10.5.34.18");
diff --git a/apm-sniffer/apm-sniffer-mock/src/main/java/org/skywalking/apm/sniffer/mock/trace/builders/span/TomcatSpanGenerator.java b/apm-sniffer/apm-sniffer-mock/src/main/java/org/skywalking/apm/sniffer/mock/trace/builders/span/TomcatSpanGenerator.java
index e8386c0ead0b..f5c6c495955e 100644
--- a/apm-sniffer/apm-sniffer-mock/src/main/java/org/skywalking/apm/sniffer/mock/trace/builders/span/TomcatSpanGenerator.java
+++ b/apm-sniffer/apm-sniffer-mock/src/main/java/org/skywalking/apm/sniffer/mock/trace/builders/span/TomcatSpanGenerator.java
@@ -1,8 +1,8 @@
package org.skywalking.apm.sniffer.mock.trace.builders.span;
import org.skywalking.apm.agent.core.context.ContextManager;
-import org.skywalking.apm.agent.core.context.trace.Span;
import org.skywalking.apm.agent.core.context.tag.Tags;
+import org.skywalking.apm.agent.core.context.trace.AbstractSpan;
/**
* The TomcatSpanGenerator
generate all possible spans, by tracing Tomcat.
@@ -15,7 +15,7 @@ public static class ON200 extends SpanGeneration {
@Override
protected void before() {
- Span webSpan = ContextManager.createSpan("/web/serviceA");
+ AbstractSpan webSpan = ContextManager.createSpan("/web/serviceA");
Tags.COMPONENT.set(webSpan, "Tomcat");
Tags.URL.set(webSpan, "http://10.21.9.35/web/serviceA");
Tags.SPAN_KIND.set(webSpan, Tags.SPAN_KIND_SERVER);
@@ -26,7 +26,7 @@ protected void before() {
@Override
protected void after() {
- Span webSpan = ContextManager.activeSpan();
+ AbstractSpan webSpan = ContextManager.activeSpan();
Tags.STATUS_CODE.set(webSpan, 200);
ContextManager.stopSpan();
}
@@ -37,7 +37,7 @@ public static class ON404 extends SpanGeneration {
@Override
protected void before() {
- Span webSpan = ContextManager.createSpan("/web/service/unknown");
+ AbstractSpan webSpan = ContextManager.createSpan("/web/service/unknown");
Tags.COMPONENT.set(webSpan, "Tomcat");
Tags.URL.set(webSpan, "http://10.21.9.35/web/unknown");
Tags.SPAN_KIND.set(webSpan, Tags.SPAN_KIND_SERVER);
@@ -48,7 +48,7 @@ protected void before() {
@Override
protected void after() {
- Span webSpan = ContextManager.activeSpan();
+ AbstractSpan webSpan = ContextManager.activeSpan();
Tags.STATUS_CODE.set(webSpan, 404);
Tags.ERROR.set(webSpan, true);
ContextManager.stopSpan();
@@ -60,7 +60,7 @@ public static class ON500 extends SpanGeneration {
@Override
protected void before() {
- Span webSpan = ContextManager.createSpan("/web/error/service");
+ AbstractSpan webSpan = ContextManager.createSpan("/web/error/service");
Tags.COMPONENT.set(webSpan, "Tomcat");
Tags.URL.set(webSpan, "http://10.21.9.35/web/error/service");
Tags.SPAN_KIND.set(webSpan, Tags.SPAN_KIND_SERVER);
@@ -71,7 +71,7 @@ protected void before() {
@Override
protected void after() {
- Span webSpan = ContextManager.activeSpan();
+ AbstractSpan webSpan = ContextManager.activeSpan();
Tags.STATUS_CODE.set(webSpan, 500);
Tags.ERROR.set(webSpan, true);
webSpan.log(new NumberFormatException("Can't convert 'abc' to int."));
diff --git a/apm-sniffer/apm-toolkit-activation/apm-toolkit-opentracing-activation/src/main/java/org/skywalking/apm/toolkit/activation/opentracing/span/interceptor/SpanNewInstanceInterceptor.java b/apm-sniffer/apm-toolkit-activation/apm-toolkit-opentracing-activation/src/main/java/org/skywalking/apm/toolkit/activation/opentracing/span/interceptor/SpanNewInstanceInterceptor.java
index e11e196c731e..12db77eaed94 100644
--- a/apm-sniffer/apm-toolkit-activation/apm-toolkit-opentracing-activation/src/main/java/org/skywalking/apm/toolkit/activation/opentracing/span/interceptor/SpanNewInstanceInterceptor.java
+++ b/apm-sniffer/apm-toolkit-activation/apm-toolkit-opentracing-activation/src/main/java/org/skywalking/apm/toolkit/activation/opentracing/span/interceptor/SpanNewInstanceInterceptor.java
@@ -1,13 +1,12 @@
package org.skywalking.apm.toolkit.activation.opentracing.span.interceptor;
+import java.util.Map;
import org.skywalking.apm.agent.core.context.ContextManager;
+import org.skywalking.apm.agent.core.context.trace.AbstractSpan;
import org.skywalking.apm.agent.core.plugin.interceptor.EnhancedClassInstanceContext;
import org.skywalking.apm.agent.core.plugin.interceptor.enhance.ConstructorInvokeContext;
import org.skywalking.apm.agent.core.plugin.interceptor.enhance.InstanceConstructorInterceptor;
import org.skywalking.apm.toolkit.opentracing.SkyWalkingSpan;
-import org.skywalking.apm.agent.core.context.trace.Span;
-
-import java.util.Map;
/**
* Intercept {@link SkyWalkingSpan} constructor.
@@ -20,7 +19,7 @@ public void onConstruct(EnhancedClassInstanceContext context, ConstructorInvokeC
String operationName = (String) allArguments[0];
long startTime = (Long) allArguments[1];
Map tags = (Map) allArguments[2];
- Span span = ContextManager.createSpan(operationName, startTime);
+ AbstractSpan span = ContextManager.createSpan(operationName, startTime);
for (Map.Entry entry : tags.entrySet()) {
span.setTag(entry.getKey(), entry.getValue());