From 81f73fb5e8bf22431318298132211fcdcb7d5ee0 Mon Sep 17 00:00:00 2001 From: ascrutae Date: Mon, 7 Aug 2017 22:01:52 +0800 Subject: [PATCH 1/2] Add entryApplicationInstanceID field for service topological --- .../src/main/proto/TraceSegmentService.proto | 5 ++-- .../agent/core/context/ContextCarrier.java | 30 ++++++++++++------- .../agent/core/context/TracingContext.java | 3 +- .../core/context/trace/TraceSegment.java | 4 +++ .../core/context/trace/TraceSegmentRef.java | 4 +++ .../core/context/ContextManagerTest.java | 4 +-- .../plugin/dubbo/DubboInterceptorTest.java | 5 ++-- .../motan/MotanProviderInterceptorTest.java | 3 +- .../resin/v3/ResinV3InterceptorTest.java | 3 +- .../resin/v4/ResinV4InterceptorTest.java | 3 +- .../tomcat78x/TomcatInterceptorTest.java | 3 +- .../agent/test/helper/SegmentRefHelper.java | 9 ++++++ .../agent/test/tools/SegmentRefAssert.java | 5 ++++ .../SkywalkingSpanActivationTest.java | 6 ++-- 14 files changed, 64 insertions(+), 23 deletions(-) diff --git a/apm-network/src/main/proto/TraceSegmentService.proto b/apm-network/src/main/proto/TraceSegmentService.proto index a1e0aa134..1a1116a13 100644 --- a/apm-network/src/main/proto/TraceSegmentService.proto +++ b/apm-network/src/main/proto/TraceSegmentService.proto @@ -37,8 +37,9 @@ message TraceSegmentReference { int32 networkAddressId = 6; string entryServiceName = 7; int32 entryServiceId = 8; - string parentServiceName = 9; - int32 parentServiceId = 10; + int32 entryServiceApplicationInstanceId = 9; + string parentServiceName = 10; + int32 parentServiceId = 11; } message SpanObject { 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 1b94a3e25..9e60019e2 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,10 +10,8 @@ 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 { /** @@ -36,9 +34,10 @@ 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. */ @@ -51,7 +50,8 @@ public class ContextCarrier implements Serializable { this.getPeerHost(), this.getEntryOperationName(), this.getParentOperationName(), - this.getPrimaryDistributedTraceId()); + this.getPrimaryDistributedTraceId(), + this.getEntryApplicationInstanceId() + ""); } else { return ""; } @@ -64,8 +64,8 @@ public class ContextCarrier implements Serializable { */ public ContextCarrier deserialize(String text) { if (text != null) { - String[] parts = text.split("\\|", 7); - if (parts.length == 7) { + String[] parts = text.split("\\|", 8); + if (parts.length == 8) { try { this.traceSegmentId = new ID(parts[0]); this.spanId = Integer.parseInt(parts[1]); @@ -74,6 +74,7 @@ public class ContextCarrier implements Serializable { this.entryOperationName = parts[4]; this.parentOperationName = parts[5]; this.primaryDistributedTraceId = new PropagatedTraceId(parts[6]); + this.entryApplicationInstanceId = Integer.parseInt(parts[7]); } catch (NumberFormatException e) { } @@ -94,7 +95,8 @@ public class ContextCarrier implements Serializable { && !StringUtil.isEmpty(peerHost) && !StringUtil.isEmpty(entryOperationName) && !StringUtil.isEmpty(parentOperationName) - && primaryDistributedTraceId != null; + && primaryDistributedTraceId != null + && entryApplicationInstanceId != DictionaryUtil.nullValue(); } public String getEntryOperationName() { @@ -168,4 +170,12 @@ public class ContextCarrier implements Serializable { public String getParentOperationName() { return parentOperationName; } + + 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 b0fab5fe3..362420fb8 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.getApplicationId()); + carrier.setApplicationInstanceId(segment.getApplicationInstanceId()); if (DictionaryUtil.isNull(exitSpan.getPeerId())) { carrier.setPeerHost(exitSpan.getPeer()); @@ -102,6 +102,7 @@ public class TracingContext implements AbstractTracerContext { AbstractTracingSpan firstSpan = first(); operationId = firstSpan.getOperationId(); operationName = firstSpan.getOperationName(); + carrier.setEntryApplicationInstanceId(this.segment.getApplicationInstanceId()); } if (operationId == DictionaryUtil.nullValue()) { carrier.setEntryOperationName(operationName); diff --git a/apm-sniffer/apm-agent-core/src/main/java/org/skywalking/apm/agent/core/context/trace/TraceSegment.java b/apm-sniffer/apm-agent-core/src/main/java/org/skywalking/apm/agent/core/context/trace/TraceSegment.java index 6857c8b8f..564c297ba 100644 --- a/apm-sniffer/apm-agent-core/src/main/java/org/skywalking/apm/agent/core/context/trace/TraceSegment.java +++ b/apm-sniffer/apm-agent-core/src/main/java/org/skywalking/apm/agent/core/context/trace/TraceSegment.java @@ -191,4 +191,8 @@ public class TraceSegment { ", relatedGlobalTraces=" + relatedGlobalTraces + '}'; } + + public int getApplicationInstanceId() { + return RemoteDownstreamConfig.Agent.APPLICATION_INSTANCE_ID; + } } 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 74dc4bff9..d39564bdb 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 @@ -30,6 +30,8 @@ public class TraceSegmentRef { private int entryOperationId = DictionaryUtil.nullValue(); + private int entryApplicationInstanceId = DictionaryUtil.nullValue(); + private String parentOperationName; private int parentOperationId = DictionaryUtil.nullValue(); @@ -44,6 +46,7 @@ public class TraceSegmentRef { this.traceSegmentId = carrier.getTraceSegmentId(); this.spanId = carrier.getSpanId(); this.applicationInstanceId = carrier.getApplicationInstanceId(); + this.entryApplicationInstanceId = carrier.getEntryApplicationInstanceId(); String host = carrier.getPeerHost(); if (host.charAt(0) == '#') { this.peerHost = host.substring(1); @@ -95,6 +98,7 @@ public class TraceSegmentRef { if (SegmentRefType.CROSS_PROCESS.equals(type)) { refBuilder.setRefType(RefType.CrossProcess); refBuilder.setParentApplicationInstanceId(applicationInstanceId); + refBuilder.setEntryServiceApplicationInstanceId(entryApplicationInstanceId); if (peerId == DictionaryUtil.nullValue()) { refBuilder.setNetworkAddress(peerHost); } else { 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 e0b6af691..118bb0940 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*"); + ContextCarrier contextCarrier = new ContextCarrier().deserialize("#AQA*#AQA*4WcWe0tQNQA*|1|1|#127.0.0.1:8080|#/portal/|#/testEntrySpan|#AQA*#AQA*Et0We0tQNQA*|1"); 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*"); + ContextCarrier contextCarrier = new ContextCarrier().deserialize("#AQA*#AQA*4WcWe0tQNQA*|3|1|#127.0.0.1:8080|#/portal/|#/testEntrySpan|#AQA*#AQA*Et0We0tQNQA*|1"); 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 380cc56f2..686e5ea7c 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*"); + 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"); 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*"); + testParam.setTraceContext("#AQA*#AQA*4WcWe0tQNQA*|3|1|#192.168.1.8 :18002|#/portal/|#/testEntrySpan|#AQA*#AQA*Et0We0tQNQA*|1"); dubboInterceptor.beforeMethod(enhancedInstance, "invoke", allArguments, argumentTypes, methodInterceptResult); dubboInterceptor.afterMethod(enhancedInstance, "invoke", allArguments, argumentTypes, result); @@ -194,6 +194,7 @@ public class DubboInterceptorTest { private void assertTraceSegmentRef(TraceSegmentRef actual) { assertThat(SegmentRefHelper.getSpanId(actual), is(3)); + assertThat(SegmentRefHelper.getEntryApplicationInstanceId(actual), is(1)); assertThat(SegmentRefHelper.getTraceSegmentId(actual).toString(), is("1.1.15006458883500001")); } 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 fe7541112..d94329d68 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*"); + attachments.put(Config.Plugin.Propagation.HEADER_NAME, "#AQA*#AQA*4WcWe0tQNQA*|3|1|#192.168.1.8:18002|#/portal/|#/testEntrySpan|#AQA*#AQA*Et0We0tQNQA*|1"); when(request.getAttachments()).thenReturn(attachments); invokeInterceptor.beforeMethod(enhancedInstance, "execute", arguments, argumentType, null); @@ -137,6 +137,7 @@ public class MotanProviderInterceptorTest { private void assertRefSegment(TraceSegmentRef primaryRef) { assertThat(SegmentRefHelper.getTraceSegmentId(primaryRef).toString(), is("1.1.15006458883500001")); assertThat(SegmentRefHelper.getSpanId(primaryRef), is(3)); + assertThat(SegmentRefHelper.getEntryApplicationInstanceId(primaryRef), is(1)); assertThat(SegmentRefHelper.getPeerHost(primaryRef), is("192.168.1.8:18002")); } 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 71b3e35d6..1142c1227 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*"); + 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"); interceptor.beforeMethod(enhancedInstance, "service", arguments, argumentType, methodInterceptResult); interceptor.afterMethod(enhancedInstance, "service", arguments, argumentType, null); @@ -121,6 +121,7 @@ public class ResinV3InterceptorTest { private void assertTraceSegmentRef(TraceSegmentRef ref) { assertThat(SegmentRefHelper.getSpanId(ref), is(3)); + assertThat(SegmentRefHelper.getEntryApplicationInstanceId(ref), is(1)); assertThat(SegmentRefHelper.getTraceSegmentId(ref).toString(), is("1.1.15006458883500001")); } 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 280211f6f..e1a9f9519 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*"); + 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"); interceptor.beforeMethod(enhancedInstance, "service", arguments, argumentType, methodInterceptResult); interceptor.afterMethod(enhancedInstance, "service", arguments, argumentType, null); @@ -122,6 +122,7 @@ public class ResinV4InterceptorTest { } private void assertTraceSegmentRef(TraceSegmentRef ref) { + assertThat(SegmentRefHelper.getEntryApplicationInstanceId(ref), is(1)); assertThat(SegmentRefHelper.getSpanId(ref), is(3)); assertThat(SegmentRefHelper.getTraceSegmentId(ref).toString(), is("1.1.15006458883500001")); } 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 19b94a5b2..550fe1ed1 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*"); + 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"); tomcatInterceptor.beforeMethod(enhancedInstance, "invoke", arguments, argumentType, methodInterceptResult); tomcatInterceptor.afterMethod(enhancedInstance, "invoke", arguments, argumentType, null); @@ -112,6 +112,7 @@ public class TomcatInterceptorTest { } private void assertTraceSegmentRef(TraceSegmentRef ref) { + assertThat(SegmentRefHelper.getEntryApplicationInstanceId(ref), is(1)); assertThat(SegmentRefHelper.getSpanId(ref), is(3)); assertThat(SegmentRefHelper.getTraceSegmentId(ref).toString(), is("1.1.15006458883500001")); } diff --git a/apm-sniffer/apm-test-tools/src/main/java/org/skywalking/apm/agent/test/helper/SegmentRefHelper.java b/apm-sniffer/apm-test-tools/src/main/java/org/skywalking/apm/agent/test/helper/SegmentRefHelper.java index f0ce52860..38fb32a20 100644 --- a/apm-sniffer/apm-test-tools/src/main/java/org/skywalking/apm/agent/test/helper/SegmentRefHelper.java +++ b/apm-sniffer/apm-test-tools/src/main/java/org/skywalking/apm/agent/test/helper/SegmentRefHelper.java @@ -30,4 +30,13 @@ public class SegmentRefHelper { return -1; } + + public static int getEntryApplicationInstanceId(TraceSegmentRef ref) { + try { + return FieldGetter.getValue(ref, "entryApplicationInstanceId"); + } catch (Exception e) { + } + + return -1; + } } diff --git a/apm-sniffer/apm-test-tools/src/main/java/org/skywalking/apm/agent/test/tools/SegmentRefAssert.java b/apm-sniffer/apm-test-tools/src/main/java/org/skywalking/apm/agent/test/tools/SegmentRefAssert.java index c5d88304a..f61751d6d 100644 --- a/apm-sniffer/apm-test-tools/src/main/java/org/skywalking/apm/agent/test/tools/SegmentRefAssert.java +++ b/apm-sniffer/apm-test-tools/src/main/java/org/skywalking/apm/agent/test/tools/SegmentRefAssert.java @@ -18,4 +18,9 @@ public class SegmentRefAssert { public static void assertPeerHost(TraceSegmentRef ref, String peerHost) { assertThat(SegmentRefHelper.getPeerHost(ref), is(peerHost)); } + + public static void assertEntryApplicationInstanceId(TraceSegmentRef ref, int entryApplicationInstanceID) { + assertThat(SegmentRefHelper.getEntryApplicationInstanceId(ref), is(entryApplicationInstanceID)); + } + } 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 474ce1777..2421705fa 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 @@ -17,6 +17,7 @@ import org.skywalking.apm.agent.core.context.trace.TraceSegment; import org.skywalking.apm.agent.core.context.trace.TraceSegmentRef; import org.skywalking.apm.agent.core.plugin.interceptor.enhance.EnhancedInstance; import org.skywalking.apm.agent.test.helper.SegmentHelper; +import org.skywalking.apm.agent.test.helper.SegmentRefHelper; import org.skywalking.apm.agent.test.tools.AgentServiceRule; import org.skywalking.apm.agent.test.tools.SegmentStorage; import org.skywalking.apm.agent.test.tools.SegmentStoragePoint; @@ -37,6 +38,7 @@ import static org.junit.Assert.assertNull; import static org.junit.Assert.assertTrue; import static org.skywalking.apm.agent.test.tools.SegmentRefAssert.assertPeerHost; import static org.skywalking.apm.agent.test.tools.SegmentRefAssert.assertSegmentId; +import static org.skywalking.apm.agent.test.tools.SegmentRefAssert.assertEntryApplicationInstanceId; import static org.skywalking.apm.agent.test.tools.SegmentRefAssert.assertSpanId; import static org.skywalking.apm.agent.test.tools.SpanAssert.assertComponent; import static org.skywalking.apm.agent.test.tools.SpanAssert.assertLogSize; @@ -181,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*"}, new Class[] {String.class}, null); + new Object[] {"#AQA*#AQA*4WcWe0tQNQA*|3|1|#127.0.0.1:8080|#/portal/|#/testEntrySpan|#AQA*#AQA*Et0We0tQNQA*|1"}, new Class[] {String.class}, null); stopSpan(); TraceSegment tracingSegment = assertTraceSemgnets(); @@ -190,11 +192,11 @@ public class SkywalkingSpanActivationTest { TraceSegmentRef ref = tracingSegment.getRefs().get(0); assertSegmentId(ref, "1.1.15006458883500001"); assertSpanId(ref, 3); + assertEntryApplicationInstanceId(ref, 1); assertPeerHost(ref, "127.0.0.1:8080"); assertThat(spans.size(), is(1)); assertSpanCommonsAttribute(spans.get(0)); } - @Test public void testExtractWithInValidateContext() throws Throwable { spanBuilder.withTag(Tags.SPAN_KIND.getKey(), Tags.SPAN_KIND_CLIENT) From e1d9701b3fd1d881bc3b697c5869b2833d4f0bd6 Mon Sep 17 00:00:00 2001 From: ascrutae Date: Mon, 7 Aug 2017 23:24:40 +0800 Subject: [PATCH 2/2] modify field name --- .../agent/core/context/ContextCarrier.java | 58 ++++++++++--------- .../agent/core/context/ContextSnapshot.java | 12 ++++ .../agent/core/context/TracingContext.java | 13 ++++- .../core/context/trace/TraceSegmentRef.java | 22 ++++--- .../core/context/ContextManagerTest.java | 4 +- .../plugin/dubbo/DubboInterceptorTest.java | 4 +- .../motan/MotanProviderInterceptorTest.java | 2 +- .../resin/v3/ResinV3InterceptorTest.java | 2 +- .../resin/v4/ResinV4InterceptorTest.java | 2 +- .../tomcat78x/TomcatInterceptorTest.java | 2 +- .../SkywalkingSpanActivationTest.java | 2 +- 11 files changed, 77 insertions(+), 46 deletions(-) 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();