From 3e2e294d8a27dc4e74bebd1f23ab3f4f0c7ef181 Mon Sep 17 00:00:00 2001 From: wusheng Date: Tue, 19 Sep 2017 19:40:44 +0800 Subject: [PATCH] Fix some compile issue. (not finished.) --- .../http/v9/DefaultHttpClientInterceptor.java | 17 +++++++++-------- .../plugin/motan/MotanConsumerInterceptor.java | 2 +- .../plugin/motan/MotanProviderInterceptor.java | 2 +- .../plugin/okhttp/v3/RealCallInterceptor.java | 13 ++++++++----- .../apm/plugin/resin/v3/ResinV3Interceptor.java | 11 ++++++++--- .../apm/plugin/resin/v4/ResinV4Interceptor.java | 10 +++++++--- 6 files changed, 34 insertions(+), 21 deletions(-) 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 89219cbac..bdd4e0f76 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 @@ -6,13 +6,13 @@ import java.lang.reflect.Field; import java.lang.reflect.Method; import java.lang.reflect.Modifier; import java.net.URL; -import java.util.ArrayList; import java.util.Collection; import java.util.Collections; import java.util.LinkedHashMap; +import java.util.LinkedList; import java.util.List; import java.util.Map; -import org.skywalking.apm.agent.core.conf.Config; +import org.skywalking.apm.agent.core.context.CarrierItem; 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; @@ -37,7 +37,6 @@ public class DefaultHttpClientInterceptor implements InstanceMethodsAroundInterc * port, kind, component, url from {@link feign.Request}. * Through the reflection of the way, set the http header of context data into {@link feign.Request#headers}. * - * * @param method * @param result change this result, if you want to truncate the method. * @throws Throwable @@ -55,9 +54,6 @@ public class DefaultHttpClientInterceptor implements InstanceMethodsAroundInterc Tags.URL.set(span, url.getPath()); SpanLayer.asHttp(span); - List contextCollection = new ArrayList(); - contextCollection.add(contextCarrier.serialize()); - Field headersField = Request.class.getDeclaredField("headers"); Field modifiersField = Field.class.getDeclaredField("modifiers"); modifiersField.setAccessible(true); @@ -65,7 +61,13 @@ public class DefaultHttpClientInterceptor implements InstanceMethodsAroundInterc headersField.setAccessible(true); Map> headers = new LinkedHashMap>(); - headers.put(Config.Plugin.Propagation.HEADER_NAME, contextCollection); + CarrierItem items = contextCarrier.items(); + while (items.hasNext()) { + CarrierItem next = items.next(); + List contextCollection = new LinkedList(); + contextCollection.add(next.getHeadValue()); + headers.put(next.getHeadKey(), contextCollection); + } headers.putAll(request.headers()); headersField.set(request, Collections.unmodifiableMap(headers)); @@ -76,7 +78,6 @@ public class DefaultHttpClientInterceptor implements InstanceMethodsAroundInterc * the server. * Finish the {@link AbstractSpan}. * - * * @param method * @param ret the method's original return value. * @return 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 5c6237e50..bb7c2cf4c 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 @@ -43,7 +43,7 @@ public class MotanConsumerInterceptor implements InstanceConstructorInterceptor, Tags.URL.set(span, url.getIdentity()); SpanLayer.asRPCFramework(span); CarrierItem items = contextCarrier.items(); - while(items.hasNext()){ + while (items.hasNext()) { CarrierItem next = items.next(); request.setAttachment(next.getHeadKey(), next.getHeadValue()); } 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 838a42e2d..c216cdbef 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 @@ -29,7 +29,7 @@ public class MotanProviderInterceptor implements InstanceMethodsAroundIntercepto Request request = (Request)allArguments[0]; ContextCarrier contextCarrier = new ContextCarrier(); CarrierItem items = contextCarrier.items(); - while(items.hasNext()){ + while (items.hasNext()) { CarrierItem next = items.next(); next.setHeadValue(request.getAttachments().get(next.getHeadKey())); } 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 fb48195f8..69bda7d75 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 @@ -8,7 +8,7 @@ import okhttp3.HttpUrl; import okhttp3.OkHttpClient; import okhttp3.Request; import okhttp3.Response; -import org.skywalking.apm.agent.core.conf.Config; +import org.skywalking.apm.agent.core.context.CarrierItem; 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; @@ -44,7 +44,6 @@ public class RealCallInterceptor implements InstanceMethodsAroundInterceptor, In * port, kind, component, url from {@link okhttp3.Request}. * Through the reflection of the way, set the http header of context data into {@link okhttp3.Request#headers}. * - * * @param method * @param result change this result, if you want to truncate the method. * @throws Throwable @@ -67,8 +66,13 @@ public class RealCallInterceptor implements InstanceMethodsAroundInterceptor, In modifiersField.setInt(headersField, headersField.getModifiers() & ~Modifier.FINAL); headersField.setAccessible(true); - Headers headers = request.headers().newBuilder().add(Config.Plugin.Propagation.HEADER_NAME, contextCarrier.serialize()).build(); - headersField.set(request, headers); + Headers.Builder headerBuilder = request.headers().newBuilder(); + CarrierItem items = contextCarrier.items(); + while (items.hasNext()) { + CarrierItem next = items.next(); + headerBuilder.add(next.getHeadKey(), next.getHeadValue()); + } + headersField.set(request, headerBuilder.build()); } /** @@ -76,7 +80,6 @@ public class RealCallInterceptor implements InstanceMethodsAroundInterceptor, In * the server. * Finish the {@link AbstractSpan}. * - * * @param method * @param ret the method's original return value. * @return 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 dbdd8293b..6c457267c 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 @@ -3,7 +3,7 @@ package org.skywalking.apm.plugin.resin.v3; import com.caucho.server.connection.CauchoRequest; import com.caucho.server.http.HttpResponse; import java.lang.reflect.Method; -import org.skywalking.apm.agent.core.conf.Config; +import org.skywalking.apm.agent.core.context.CarrierItem; 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; @@ -25,8 +25,13 @@ public class ResinV3Interceptor implements InstanceMethodsAroundInterceptor { @Override public void beforeMethod(EnhancedInstance objInst, Method method, Object[] allArguments, Class[] argumentsTypes, MethodInterceptResult result) throws Throwable { CauchoRequest request = (CauchoRequest)allArguments[0]; - String tracingHeaderValue = request.getHeader(Config.Plugin.Propagation.HEADER_NAME); - ContextCarrier contextCarrier = new ContextCarrier().deserialize(tracingHeaderValue); + ContextCarrier contextCarrier = new ContextCarrier(); + CarrierItem items = contextCarrier.items(); + while (items.hasNext()) { + CarrierItem next = items.next(); + next.setHeadValue(request.getHeader(next.getHeadKey())); + } + AbstractSpan span = ContextManager.createEntrySpan(request.getPageURI(), contextCarrier); span.setComponent(ComponentsDefine.RESIN); Tags.URL.set(span, appendRequestURL(request)); 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 8e7f31ce0..68a462db0 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 @@ -3,7 +3,7 @@ package org.skywalking.apm.plugin.resin.v4; import com.caucho.server.http.CauchoRequest; import java.lang.reflect.Method; import javax.servlet.http.HttpServletResponse; -import org.skywalking.apm.agent.core.conf.Config; +import org.skywalking.apm.agent.core.context.CarrierItem; 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; @@ -22,8 +22,12 @@ public class ResinV4Interceptor implements InstanceMethodsAroundInterceptor { public void beforeMethod(EnhancedInstance objInst, Method method, Object[] allArguments, Class[] argumentsTypes, MethodInterceptResult result) throws Throwable { CauchoRequest request = (CauchoRequest)allArguments[0]; - String tracingHeaderValue = request.getHeader(Config.Plugin.Propagation.HEADER_NAME); - ContextCarrier contextCarrier = new ContextCarrier().deserialize(tracingHeaderValue); + ContextCarrier contextCarrier = new ContextCarrier(); + CarrierItem items = contextCarrier.items(); + while (items.hasNext()) { + CarrierItem next = items.next(); + next.setHeadValue(request.getHeader(next.getHeadKey())); + } AbstractSpan span = ContextManager.createEntrySpan(request.getPageURI(), contextCarrier); span.setComponent(ComponentsDefine.RESIN); Tags.URL.set(span, appendRequestURL(request)); -- GitLab