Commit 223b4de2 authored by ascrutae's avatar ascrutae
Browse files

fix context data cannot transport to provider side issue

parent bbdede77
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -15,7 +15,7 @@ import java.nio.ByteBuffer;
 * Created by wusheng on 2016/12/20.
 */
public class SkyWalkingTracer implements Tracer {
    private static String TRACE_HEAD_NAME = "SkyWalking-TRACING-NAME";
    private static String TRACE_HEAD_NAME = "SW-TRACING-NAME";

    public static Tracer INSTANCE = new SkyWalkingTracer();

+8 −1
Original line number Diff line number Diff line
@@ -17,13 +17,20 @@ public final class StringUtil {
        }
        int length = strings.length - 1;
        for (final String s : strings) {
            if (s == null) {
                continue;
            }
            length += s.length();
        }
        final StringBuilder sb = new StringBuilder(length);
        if (strings[0] != null) {
            sb.append(strings[0]);
        }
        for (int i = 1; i < strings.length; ++i) {
            if (!isEmpty(strings[i])) {
                sb.append(delimiter).append(strings[i]);
            } else {
                sb.append(delimiter);
            }
        }
        return sb.toString();
+1 −1
Original line number Diff line number Diff line
@@ -29,7 +29,7 @@ public class MotanConsumerInvokeInterceptor implements InstanceMethodsAroundInte
    /**
     * Attachment key of the serialized context data.
     */
    private static final String ATTACHMENT_KEY_OF_CONTEXT_DATA = "contextData";
    private static final String ATTACHMENT_KEY_OF_CONTEXT_DATA = "SWTraceContext";

    /**
     * Motan component
+1 −3
Original line number Diff line number Diff line
@@ -26,9 +26,7 @@ public class PrintTraceIdInterceptor implements InstanceMethodsAroundInterceptor
     */
    @Override
    public Object afterMethod(EnhancedClassInstanceContext context, InstanceMethodInvokeContext interceptorContext, Object ret) {
        ContextCarrier carrier = new ContextCarrier();
        ContextManager.INSTANCE.inject(carrier);
        return "TID:" + carrier.getTraceSegmentId();
        return "TID:" + ContextManager.INSTANCE.getTraceSegmentId();
    }

    @Override
+1 −3
Original line number Diff line number Diff line
@@ -19,9 +19,7 @@ public class PrintTraceIdInterceptor implements StaticMethodsAroundInterceptor {
     */
    @Override
    public void beforeMethod(StaticMethodInvokeContext interceptorContext, MethodInterceptResult result) {
        ContextCarrier carrier = new ContextCarrier();
        ContextManager.INSTANCE.inject(carrier);
        ((StringBuilder) interceptorContext.allArguments()[0]).append("TID:" + carrier.getTraceSegmentId());
        ((StringBuilder) interceptorContext.allArguments()[0]).append("TID:" + ContextManager.INSTANCE.getTraceSegmentId());

        //make sure origin method do not invoke.
        result.defineReturnValue(null);
Loading