diff --git a/apm-sniffer/apm-agent-core/src/main/java/org/skywalking/apm/agent/core/context/ContextCarrier.java b/apm-sniffer/apm-agent-core/src/main/java/org/skywalking/apm/agent/core/context/ContextCarrier.java
index 9e60019e2..7e3a1904a 100644
--- a/apm-sniffer/apm-agent-core/src/main/java/org/skywalking/apm/agent/core/context/ContextCarrier.java
+++ b/apm-sniffer/apm-agent-core/src/main/java/org/skywalking/apm/agent/core/context/ContextCarrier.java
@@ -10,8 +10,10 @@ import org.skywalking.apm.agent.core.dictionary.DictionaryUtil;
import org.skywalking.apm.util.StringUtil;
/**
- * {@link ContextCarrier} is a data carrier of {@link TracingContext}. It holds the snapshot (current state) of {@link
- * TracingContext}.
Created by wusheng on 2017/2/17.
+ * {@link ContextCarrier} is a data carrier of {@link TracingContext}.
+ * It holds the snapshot (current state) of {@link TracingContext}.
+ *
+ * Created by wusheng on 2017/2/17.
*/
public class ContextCarrier implements Serializable {
/**
@@ -21,7 +23,9 @@ public class ContextCarrier implements Serializable {
private int spanId = -1;
- private int applicationInstanceId = DictionaryUtil.nullValue();
+ private int parentApplicationInstanceId = DictionaryUtil.nullValue();
+
+ private int entryApplicationInstanceId = DictionaryUtil.nullValue();
private String peerHost;
@@ -34,10 +38,9 @@ public class ContextCarrier implements Serializable {
*/
private DistributedTraceId primaryDistributedTraceId;
- private int entryApplicationInstanceId = DictionaryUtil.nullValue();
-
/**
- * Serialize this {@link ContextCarrier} to a {@link String}, with '|' split.
+ * Serialize this {@link ContextCarrier} to a {@link String},
+ * with '|' split.
*
* @return the serialization string.
*/
@@ -46,12 +49,12 @@ public class ContextCarrier implements Serializable {
return StringUtil.join('|',
this.getTraceSegmentId().toBase64(),
this.getSpanId() + "",
- this.getApplicationInstanceId() + "",
+ this.getParentApplicationInstanceId() + "",
+ this.getEntryApplicationInstanceId() + "",
this.getPeerHost(),
this.getEntryOperationName(),
this.getParentOperationName(),
- this.getPrimaryDistributedTraceId(),
- this.getEntryApplicationInstanceId() + "");
+ this.getPrimaryDistributedTraceId().toBase64());
} else {
return "";
}
@@ -69,12 +72,12 @@ public class ContextCarrier implements Serializable {
try {
this.traceSegmentId = new ID(parts[0]);
this.spanId = Integer.parseInt(parts[1]);
- this.applicationInstanceId = Integer.parseInt(parts[2]);
- this.peerHost = parts[3];
- this.entryOperationName = parts[4];
- this.parentOperationName = parts[5];
- this.primaryDistributedTraceId = new PropagatedTraceId(parts[6]);
- this.entryApplicationInstanceId = Integer.parseInt(parts[7]);
+ this.parentApplicationInstanceId = Integer.parseInt(parts[2]);
+ this.entryApplicationInstanceId = Integer.parseInt(parts[3]);
+ this.peerHost = parts[4];
+ this.entryOperationName = parts[5];
+ this.parentOperationName = parts[6];
+ this.primaryDistributedTraceId = new PropagatedTraceId(parts[7]);
} catch (NumberFormatException e) {
}
@@ -91,12 +94,12 @@ public class ContextCarrier implements Serializable {
public boolean isValid() {
return traceSegmentId != null
&& getSpanId() > -1
- && applicationInstanceId != DictionaryUtil.nullValue()
+ && parentApplicationInstanceId != DictionaryUtil.nullValue()
+ && entryApplicationInstanceId != DictionaryUtil.nullValue()
&& !StringUtil.isEmpty(peerHost)
&& !StringUtil.isEmpty(entryOperationName)
&& !StringUtil.isEmpty(parentOperationName)
- && primaryDistributedTraceId != null
- && entryApplicationInstanceId != DictionaryUtil.nullValue();
+ && primaryDistributedTraceId != null;
}
public String getEntryOperationName() {
@@ -135,12 +138,12 @@ public class ContextCarrier implements Serializable {
this.spanId = spanId;
}
- public int getApplicationInstanceId() {
- return applicationInstanceId;
+ public int getParentApplicationInstanceId() {
+ return parentApplicationInstanceId;
}
- void setApplicationInstanceId(int applicationInstanceId) {
- this.applicationInstanceId = applicationInstanceId;
+ void setParentApplicationInstanceId(int parentApplicationInstanceId) {
+ this.parentApplicationInstanceId = parentApplicationInstanceId;
}
public String getPeerHost() {
@@ -163,19 +166,20 @@ public class ContextCarrier implements Serializable {
this.primaryDistributedTraceId = distributedTraceIds.get(0);
}
- private String getPrimaryDistributedTraceId() {
- return primaryDistributedTraceId.toBase64();
+ private DistributedTraceId getPrimaryDistributedTraceId() {
+ return primaryDistributedTraceId;
}
public String getParentOperationName() {
return parentOperationName;
}
+ public int getEntryApplicationInstanceId() {
+ return entryApplicationInstanceId;
+ }
+
public void setEntryApplicationInstanceId(int entryApplicationInstanceId) {
this.entryApplicationInstanceId = entryApplicationInstanceId;
}
- public int getEntryApplicationInstanceId() {
- return entryApplicationInstanceId;
- }
}
diff --git a/apm-sniffer/apm-agent-core/src/main/java/org/skywalking/apm/agent/core/context/ContextSnapshot.java b/apm-sniffer/apm-agent-core/src/main/java/org/skywalking/apm/agent/core/context/ContextSnapshot.java
index 7543fab3a..f5ba93276 100644
--- a/apm-sniffer/apm-agent-core/src/main/java/org/skywalking/apm/agent/core/context/ContextSnapshot.java
+++ b/apm-sniffer/apm-agent-core/src/main/java/org/skywalking/apm/agent/core/context/ContextSnapshot.java
@@ -3,6 +3,7 @@ package org.skywalking.apm.agent.core.context;
import java.util.List;
import org.skywalking.apm.agent.core.context.ids.DistributedTraceId;
import org.skywalking.apm.agent.core.context.ids.ID;
+import org.skywalking.apm.agent.core.dictionary.DictionaryUtil;
import org.skywalking.apm.util.StringUtil;
/**
@@ -31,6 +32,8 @@ public class ContextSnapshot {
*/
private DistributedTraceId primaryDistributedTraceId;
+ private int entryApplicationInstanceId = DictionaryUtil.nullValue();
+
ContextSnapshot(ID traceSegmentId, int spanId,
List distributedTraceIds) {
this.traceSegmentId = traceSegmentId;
@@ -75,6 +78,7 @@ public class ContextSnapshot {
public boolean isValid() {
return traceSegmentId != null
&& spanId > -1
+ && entryApplicationInstanceId != DictionaryUtil.nullValue()
&& primaryDistributedTraceId != null
&& !StringUtil.isEmpty(entryOperationName)
&& !StringUtil.isEmpty(parentOperationName);
@@ -83,4 +87,12 @@ public class ContextSnapshot {
public String getEntryOperationName() {
return entryOperationName;
}
+
+ public void setEntryApplicationInstanceId(int entryApplicationInstanceId) {
+ this.entryApplicationInstanceId = entryApplicationInstanceId;
+ }
+
+ public int getEntryApplicationInstanceId() {
+ return entryApplicationInstanceId;
+ }
}
diff --git a/apm-sniffer/apm-agent-core/src/main/java/org/skywalking/apm/agent/core/context/TracingContext.java b/apm-sniffer/apm-agent-core/src/main/java/org/skywalking/apm/agent/core/context/TracingContext.java
index 362420fb8..10efeb9b4 100644
--- a/apm-sniffer/apm-agent-core/src/main/java/org/skywalking/apm/agent/core/context/TracingContext.java
+++ b/apm-sniffer/apm-agent-core/src/main/java/org/skywalking/apm/agent/core/context/TracingContext.java
@@ -84,7 +84,7 @@ public class TracingContext implements AbstractTracerContext {
carrier.setTraceSegmentId(this.segment.getTraceSegmentId());
carrier.setSpanId(span.getSpanId());
- carrier.setApplicationInstanceId(segment.getApplicationInstanceId());
+ carrier.setParentApplicationInstanceId(segment.getApplicationInstanceId());
if (DictionaryUtil.isNull(exitSpan.getPeerId())) {
carrier.setPeerHost(exitSpan.getPeer());
@@ -94,16 +94,20 @@ public class TracingContext implements AbstractTracerContext {
List refs = this.segment.getRefs();
int operationId;
String operationName;
+ int entryApplicationInstanceId;
if (refs != null && refs.size() > 0) {
TraceSegmentRef ref = refs.get(0);
operationId = ref.getEntryOperationId();
operationName = ref.getEntryOperationName();
+ entryApplicationInstanceId = ref.getEntryApplicationInstanceId();
} else {
AbstractTracingSpan firstSpan = first();
operationId = firstSpan.getOperationId();
operationName = firstSpan.getOperationName();
- carrier.setEntryApplicationInstanceId(this.segment.getApplicationInstanceId());
+ entryApplicationInstanceId = this.segment.getApplicationInstanceId();
}
+ carrier.setEntryApplicationInstanceId(entryApplicationInstanceId);
+
if (operationId == DictionaryUtil.nullValue()) {
carrier.setEntryOperationName(operationName);
} else {
@@ -146,15 +150,20 @@ public class TracingContext implements AbstractTracerContext {
segment.getRelatedGlobalTraces());
int entryOperationId;
String entryOperationName;
+ int entryApplicationInstanceId;
AbstractTracingSpan firstSpan = first();
if (refs != null && refs.size() > 0) {
TraceSegmentRef ref = refs.get(0);
entryOperationId = ref.getEntryOperationId();
entryOperationName = ref.getEntryOperationName();
+ entryApplicationInstanceId = ref.getEntryApplicationInstanceId();
} else {
entryOperationId = firstSpan.getOperationId();
entryOperationName = firstSpan.getOperationName();
+ entryApplicationInstanceId = this.segment.getApplicationInstanceId();
}
+ snapshot.setEntryApplicationInstanceId(entryApplicationInstanceId);
+
if (entryOperationId == DictionaryUtil.nullValue()) {
snapshot.setEntryOperationName(entryOperationName);
} else {
diff --git a/apm-sniffer/apm-agent-core/src/main/java/org/skywalking/apm/agent/core/context/trace/TraceSegmentRef.java b/apm-sniffer/apm-agent-core/src/main/java/org/skywalking/apm/agent/core/context/trace/TraceSegmentRef.java
index d39564bdb..acdab7025 100644
--- a/apm-sniffer/apm-agent-core/src/main/java/org/skywalking/apm/agent/core/context/trace/TraceSegmentRef.java
+++ b/apm-sniffer/apm-agent-core/src/main/java/org/skywalking/apm/agent/core/context/trace/TraceSegmentRef.java
@@ -1,5 +1,6 @@
package org.skywalking.apm.agent.core.context.trace;
+import org.skywalking.apm.agent.core.conf.RemoteDownstreamConfig;
import org.skywalking.apm.agent.core.context.ContextCarrier;
import org.skywalking.apm.agent.core.context.ContextSnapshot;
import org.skywalking.apm.agent.core.context.ids.ID;
@@ -20,18 +21,18 @@ public class TraceSegmentRef {
private int spanId = -1;
- private int applicationInstanceId;
+ private int peerId = DictionaryUtil.nullValue();
private String peerHost;
- private int peerId = DictionaryUtil.nullValue();
+ private int entryApplicationInstanceId = DictionaryUtil.nullValue();
+
+ private int parentApplicationInstanceId = DictionaryUtil.nullValue();
private String entryOperationName;
private int entryOperationId = DictionaryUtil.nullValue();
- private int entryApplicationInstanceId = DictionaryUtil.nullValue();
-
private String parentOperationName;
private int parentOperationId = DictionaryUtil.nullValue();
@@ -45,7 +46,7 @@ public class TraceSegmentRef {
this.type = SegmentRefType.CROSS_PROCESS;
this.traceSegmentId = carrier.getTraceSegmentId();
this.spanId = carrier.getSpanId();
- this.applicationInstanceId = carrier.getApplicationInstanceId();
+ this.parentApplicationInstanceId = carrier.getParentApplicationInstanceId();
this.entryApplicationInstanceId = carrier.getEntryApplicationInstanceId();
String host = carrier.getPeerHost();
if (host.charAt(0) == '#') {
@@ -71,6 +72,8 @@ public class TraceSegmentRef {
this.type = SegmentRefType.CROSS_THREAD;
this.traceSegmentId = snapshot.getTraceSegmentId();
this.spanId = snapshot.getSpanId();
+ this.parentApplicationInstanceId = RemoteDownstreamConfig.Agent.APPLICATION_INSTANCE_ID;
+ this.entryApplicationInstanceId = snapshot.getEntryApplicationInstanceId();
String entryOperationName = snapshot.getEntryOperationName();
if (entryOperationName.charAt(0) == '#') {
this.entryOperationName = entryOperationName.substring(1);
@@ -93,12 +96,15 @@ public class TraceSegmentRef {
return entryOperationId;
}
+ public int getEntryApplicationInstanceId() {
+ return entryApplicationInstanceId;
+ }
+
public TraceSegmentReference transform() {
TraceSegmentReference.Builder refBuilder = TraceSegmentReference.newBuilder();
if (SegmentRefType.CROSS_PROCESS.equals(type)) {
refBuilder.setRefType(RefType.CrossProcess);
- refBuilder.setParentApplicationInstanceId(applicationInstanceId);
- refBuilder.setEntryServiceApplicationInstanceId(entryApplicationInstanceId);
+ refBuilder.setParentApplicationInstanceId(parentApplicationInstanceId);
if (peerId == DictionaryUtil.nullValue()) {
refBuilder.setNetworkAddress(peerHost);
} else {
@@ -108,6 +114,7 @@ public class TraceSegmentRef {
refBuilder.setRefType(RefType.CrossThread);
}
+ refBuilder.setEntryApplicationInstanceId(entryApplicationInstanceId);
refBuilder.setParentTraceSegmentId(traceSegmentId.transform());
refBuilder.setParentSpanId(spanId);
if (entryOperationId == DictionaryUtil.nullValue()) {
@@ -143,7 +150,6 @@ public class TraceSegmentRef {
result = 31 * result + spanId;
return result;
}
-
public enum SegmentRefType {
CROSS_PROCESS,
CROSS_THREAD
diff --git a/apm-sniffer/apm-agent-core/src/test/java/org/skywalking/apm/agent/core/context/ContextManagerTest.java b/apm-sniffer/apm-agent-core/src/test/java/org/skywalking/apm/agent/core/context/ContextManagerTest.java
index 118bb0940..d8f8cb4cb 100644
--- a/apm-sniffer/apm-agent-core/src/test/java/org/skywalking/apm/agent/core/context/ContextManagerTest.java
+++ b/apm-sniffer/apm-agent-core/src/test/java/org/skywalking/apm/agent/core/context/ContextManagerTest.java
@@ -79,7 +79,7 @@ public class ContextManagerTest {
@Test
public void createMultipleEntrySpan() {
- ContextCarrier contextCarrier = new ContextCarrier().deserialize("#AQA*#AQA*4WcWe0tQNQA*|1|1|#127.0.0.1:8080|#/portal/|#/testEntrySpan|#AQA*#AQA*Et0We0tQNQA*|1");
+ ContextCarrier contextCarrier = new ContextCarrier().deserialize("#AQA*#AQA*4WcWe0tQNQA*|1|1|1|#127.0.0.1:8080|#/portal/|#/testEntrySpan|#AQA*#AQA*Et0We0tQNQA*");
assertTrue(contextCarrier.isValid());
AbstractSpan firstEntrySpan = ContextManager.createEntrySpan("/testFirstEntry", contextCarrier);
@@ -202,7 +202,7 @@ public class ContextManagerTest {
@Test
public void testTransform() throws InvalidProtocolBufferException {
- ContextCarrier contextCarrier = new ContextCarrier().deserialize("#AQA*#AQA*4WcWe0tQNQA*|3|1|#127.0.0.1:8080|#/portal/|#/testEntrySpan|#AQA*#AQA*Et0We0tQNQA*|1");
+ ContextCarrier contextCarrier = new ContextCarrier().deserialize("#AQA*#AQA*4WcWe0tQNQA*|3|1|1|#127.0.0.1:8080|#/portal/|#/testEntrySpan|#AQA*#AQA*Et0We0tQNQA*");
assertTrue(contextCarrier.isValid());
AbstractSpan firstEntrySpan = ContextManager.createEntrySpan("/testFirstEntry", contextCarrier);
diff --git a/apm-sniffer/apm-sdk-plugin/dubbo-plugin/src/test/java/org/skywalking/apm/plugin/dubbo/DubboInterceptorTest.java b/apm-sniffer/apm-sdk-plugin/dubbo-plugin/src/test/java/org/skywalking/apm/plugin/dubbo/DubboInterceptorTest.java
index 686e5ea7c..3db3f120e 100644
--- a/apm-sniffer/apm-sdk-plugin/dubbo-plugin/src/test/java/org/skywalking/apm/plugin/dubbo/DubboInterceptorTest.java
+++ b/apm-sniffer/apm-sdk-plugin/dubbo-plugin/src/test/java/org/skywalking/apm/plugin/dubbo/DubboInterceptorTest.java
@@ -148,7 +148,7 @@ public class DubboInterceptorTest {
@Test
public void testProviderWithAttachment() throws Throwable {
when(rpcContext.isConsumerSide()).thenReturn(false);
- when(rpcContext.getAttachment(Config.Plugin.Propagation.HEADER_NAME)).thenReturn("#AQA*#AQA*4WcWe0tQNQA*|3|1|#192.168.1.8 :18002|#/portal/|#/testEntrySpan|#AQA*#AQA*Et0We0tQNQA*|1");
+ when(rpcContext.getAttachment(Config.Plugin.Propagation.HEADER_NAME)).thenReturn("#AQA*#AQA*4WcWe0tQNQA*|3|1|1|#192.168.1.8 :18002|#/portal/|#/testEntrySpan|#AQA*#AQA*Et0We0tQNQA*");
dubboInterceptor.beforeMethod(enhancedInstance, "invoke", allArguments, argumentTypes, methodInterceptResult);
dubboInterceptor.afterMethod(enhancedInstance, "invoke", allArguments, argumentTypes, result);
@@ -160,7 +160,7 @@ public class DubboInterceptorTest {
when(rpcContext.isConsumerSide()).thenReturn(false);
FieldSetter.setStaticValue(BugFixActive.class, "ACTIVE", true);
- testParam.setTraceContext("#AQA*#AQA*4WcWe0tQNQA*|3|1|#192.168.1.8 :18002|#/portal/|#/testEntrySpan|#AQA*#AQA*Et0We0tQNQA*|1");
+ testParam.setTraceContext("#AQA*#AQA*4WcWe0tQNQA*|3|1|1|#192.168.1.8 :18002|#/portal/|#/testEntrySpan|#AQA*#AQA*Et0We0tQNQA*");
dubboInterceptor.beforeMethod(enhancedInstance, "invoke", allArguments, argumentTypes, methodInterceptResult);
dubboInterceptor.afterMethod(enhancedInstance, "invoke", allArguments, argumentTypes, result);
diff --git a/apm-sniffer/apm-sdk-plugin/motan-plugin/src/test/java/org/skywalking/apm/plugin/motan/MotanProviderInterceptorTest.java b/apm-sniffer/apm-sdk-plugin/motan-plugin/src/test/java/org/skywalking/apm/plugin/motan/MotanProviderInterceptorTest.java
index d94329d68..e90f0b65f 100644
--- a/apm-sniffer/apm-sdk-plugin/motan-plugin/src/test/java/org/skywalking/apm/plugin/motan/MotanProviderInterceptorTest.java
+++ b/apm-sniffer/apm-sdk-plugin/motan-plugin/src/test/java/org/skywalking/apm/plugin/motan/MotanProviderInterceptorTest.java
@@ -91,7 +91,7 @@ public class MotanProviderInterceptorTest {
@Test
public void testInvokerWithRefSegment() throws Throwable {
HashMap attachments = new HashMap();
- attachments.put(Config.Plugin.Propagation.HEADER_NAME, "#AQA*#AQA*4WcWe0tQNQA*|3|1|#192.168.1.8:18002|#/portal/|#/testEntrySpan|#AQA*#AQA*Et0We0tQNQA*|1");
+ attachments.put(Config.Plugin.Propagation.HEADER_NAME, "#AQA*#AQA*4WcWe0tQNQA*|3|1|1|#192.168.1.8:18002|#/portal/|#/testEntrySpan|#AQA*#AQA*Et0We0tQNQA*");
when(request.getAttachments()).thenReturn(attachments);
invokeInterceptor.beforeMethod(enhancedInstance, "execute", arguments, argumentType, null);
diff --git a/apm-sniffer/apm-sdk-plugin/resin-3.x-plugin/src/test/java/org/skywalking/apm/plugin/resin/v3/ResinV3InterceptorTest.java b/apm-sniffer/apm-sdk-plugin/resin-3.x-plugin/src/test/java/org/skywalking/apm/plugin/resin/v3/ResinV3InterceptorTest.java
index 1142c1227..f36301c83 100644
--- a/apm-sniffer/apm-sdk-plugin/resin-3.x-plugin/src/test/java/org/skywalking/apm/plugin/resin/v3/ResinV3InterceptorTest.java
+++ b/apm-sniffer/apm-sdk-plugin/resin-3.x-plugin/src/test/java/org/skywalking/apm/plugin/resin/v3/ResinV3InterceptorTest.java
@@ -90,7 +90,7 @@ public class ResinV3InterceptorTest {
@Test
public void testWithSerializedContextData() throws Throwable {
- when(request.getHeader(Config.Plugin.Propagation.HEADER_NAME)).thenReturn("#AQA*#AQA*4WcWe0tQNQA*|3|1|#192.168.1.8:18002|#/portal/|#/testEntrySpan|#AQA*#AQA*Et0We0tQNQA*|1");
+ when(request.getHeader(Config.Plugin.Propagation.HEADER_NAME)).thenReturn("#AQA*#AQA*4WcWe0tQNQA*|3|1|1|#192.168.1.8:18002|#/portal/|#/testEntrySpan|#AQA*#AQA*Et0We0tQNQA*");
interceptor.beforeMethod(enhancedInstance, "service", arguments, argumentType, methodInterceptResult);
interceptor.afterMethod(enhancedInstance, "service", arguments, argumentType, null);
diff --git a/apm-sniffer/apm-sdk-plugin/resin-4.x-plugin/src/test/java/org/skywalking/apm/plugin/resin/v4/ResinV4InterceptorTest.java b/apm-sniffer/apm-sdk-plugin/resin-4.x-plugin/src/test/java/org/skywalking/apm/plugin/resin/v4/ResinV4InterceptorTest.java
index e1a9f9519..aeed0ffa3 100644
--- a/apm-sniffer/apm-sdk-plugin/resin-4.x-plugin/src/test/java/org/skywalking/apm/plugin/resin/v4/ResinV4InterceptorTest.java
+++ b/apm-sniffer/apm-sdk-plugin/resin-4.x-plugin/src/test/java/org/skywalking/apm/plugin/resin/v4/ResinV4InterceptorTest.java
@@ -92,7 +92,7 @@ public class ResinV4InterceptorTest {
@Test
public void testWithSerializedContextData() throws Throwable {
- when(request.getHeader(Config.Plugin.Propagation.HEADER_NAME)).thenReturn("#AQA*#AQA*4WcWe0tQNQA*|3|1|#192.168.1.8:18002|#/portal/|#/testEntrySpan|#AQA*#AQA*Et0We0tQNQA*|1");
+ when(request.getHeader(Config.Plugin.Propagation.HEADER_NAME)).thenReturn("#AQA*#AQA*4WcWe0tQNQA*|3|1|1|#192.168.1.8:18002|#/portal/|#/testEntrySpan|#AQA*#AQA*Et0We0tQNQA*");
interceptor.beforeMethod(enhancedInstance, "service", arguments, argumentType, methodInterceptResult);
interceptor.afterMethod(enhancedInstance, "service", arguments, argumentType, null);
diff --git a/apm-sniffer/apm-sdk-plugin/tomcat-7.x-8.x-plugin/src/test/java/org/skywalking/apm/plugin/tomcat78x/TomcatInterceptorTest.java b/apm-sniffer/apm-sdk-plugin/tomcat-7.x-8.x-plugin/src/test/java/org/skywalking/apm/plugin/tomcat78x/TomcatInterceptorTest.java
index 550fe1ed1..3bd02a897 100644
--- a/apm-sniffer/apm-sdk-plugin/tomcat-7.x-8.x-plugin/src/test/java/org/skywalking/apm/plugin/tomcat78x/TomcatInterceptorTest.java
+++ b/apm-sniffer/apm-sdk-plugin/tomcat-7.x-8.x-plugin/src/test/java/org/skywalking/apm/plugin/tomcat78x/TomcatInterceptorTest.java
@@ -82,7 +82,7 @@ public class TomcatInterceptorTest {
@Test
public void testWithSerializedContextData() throws Throwable {
- when(request.getHeader(Config.Plugin.Propagation.HEADER_NAME)).thenReturn("#AQA*#AQA*4WcWe0tQNQA*|3|1|#192.168.1.8:18002|#/portal/|#/testEntrySpan|#AQA*#AQA*Et0We0tQNQA*|1");
+ when(request.getHeader(Config.Plugin.Propagation.HEADER_NAME)).thenReturn("#AQA*#AQA*4WcWe0tQNQA*|3|1|1|#192.168.1.8:18002|#/portal/|#/testEntrySpan|#AQA*#AQA*Et0We0tQNQA*");
tomcatInterceptor.beforeMethod(enhancedInstance, "invoke", arguments, argumentType, methodInterceptResult);
tomcatInterceptor.afterMethod(enhancedInstance, "invoke", arguments, argumentType, null);
diff --git a/apm-sniffer/apm-toolkit-activation/apm-toolkit-opentracing-activation/src/test/java/org/skywalking/apm/toolkit/activation/opentracing/SkywalkingSpanActivationTest.java b/apm-sniffer/apm-toolkit-activation/apm-toolkit-opentracing-activation/src/test/java/org/skywalking/apm/toolkit/activation/opentracing/SkywalkingSpanActivationTest.java
index 2421705fa..b09e5c1e1 100644
--- a/apm-sniffer/apm-toolkit-activation/apm-toolkit-opentracing-activation/src/test/java/org/skywalking/apm/toolkit/activation/opentracing/SkywalkingSpanActivationTest.java
+++ b/apm-sniffer/apm-toolkit-activation/apm-toolkit-opentracing-activation/src/test/java/org/skywalking/apm/toolkit/activation/opentracing/SkywalkingSpanActivationTest.java
@@ -183,7 +183,7 @@ public class SkywalkingSpanActivationTest {
.withTag(Tags.PEER_HOST_IPV4.getKey(), "127.0.0.1").withTag(Tags.PEER_PORT.getKey(), 8080);
startSpan();
extractInterceptor.afterMethod(enhancedInstance, "extract",
- new Object[] {"#AQA*#AQA*4WcWe0tQNQA*|3|1|#127.0.0.1:8080|#/portal/|#/testEntrySpan|#AQA*#AQA*Et0We0tQNQA*|1"}, new Class[] {String.class}, null);
+ new Object[] {"#AQA*#AQA*4WcWe0tQNQA*|3|1|1|#127.0.0.1:8080|#/portal/|#/testEntrySpan|#AQA*#AQA*Et0We0tQNQA*"}, new Class[] {String.class}, null);
stopSpan();
TraceSegment tracingSegment = assertTraceSemgnets();