diff --git a/skywalking-api/src/main/java/com/ai/cloud/skywalking/api/IBuriedPointSender.java b/skywalking-api/src/main/java/com/ai/cloud/skywalking/api/IBuriedPointSender.java index 70f772d43..d2fb76223 100644 --- a/skywalking-api/src/main/java/com/ai/cloud/skywalking/api/IBuriedPointSender.java +++ b/skywalking-api/src/main/java/com/ai/cloud/skywalking/api/IBuriedPointSender.java @@ -1,10 +1,10 @@ package com.ai.cloud.skywalking.api; -import com.ai.cloud.skywalking.model.SendData; +import com.ai.cloud.skywalking.model.Identification; import com.ai.cloud.skywalking.model.ContextData; public interface IBuriedPointSender extends IExceptionHandler { - ContextData beforeSend(SendData data); + ContextData beforeSend(Identification id); void afterSend(); } diff --git a/skywalking-api/src/main/java/com/ai/cloud/skywalking/buriedpoint/LocalBuriedPointSender.java b/skywalking-api/src/main/java/com/ai/cloud/skywalking/buriedpoint/LocalBuriedPointSender.java index 236fff009..e6b6dd24c 100644 --- a/skywalking-api/src/main/java/com/ai/cloud/skywalking/buriedpoint/LocalBuriedPointSender.java +++ b/skywalking-api/src/main/java/com/ai/cloud/skywalking/buriedpoint/LocalBuriedPointSender.java @@ -5,14 +5,14 @@ import com.ai.cloud.skywalking.buffer.ContextBuffer; import com.ai.cloud.skywalking.context.Context; import com.ai.cloud.skywalking.context.Span; import com.ai.cloud.skywalking.model.ContextData; -import com.ai.cloud.skywalking.model.SendData; +import com.ai.cloud.skywalking.model.Identification; import com.ai.cloud.skywalking.util.ContextGenerator; import com.ai.cloud.skywalking.util.ExceptionHandleUtil; public class LocalBuriedPointSender implements IBuriedPointSender { - public ContextData beforeSend(SendData sendData) { - Span spanData = ContextGenerator.generateContextFromThreadLocal(sendData); + public ContextData beforeSend(Identification id) { + Span spanData = ContextGenerator.generateContextFromThreadLocal(id); // 3.将新创建的Context存放到ThreadLocal栈中。 Context.getOrCreate().append(spanData); // 4 并将当前的Context返回回去 diff --git a/skywalking-api/src/main/java/com/ai/cloud/skywalking/buriedpoint/RPCBuriedPointSender.java b/skywalking-api/src/main/java/com/ai/cloud/skywalking/buriedpoint/RPCBuriedPointSender.java index 4309e4455..543131881 100644 --- a/skywalking-api/src/main/java/com/ai/cloud/skywalking/buriedpoint/RPCBuriedPointSender.java +++ b/skywalking-api/src/main/java/com/ai/cloud/skywalking/buriedpoint/RPCBuriedPointSender.java @@ -5,14 +5,14 @@ import com.ai.cloud.skywalking.buffer.ContextBuffer; import com.ai.cloud.skywalking.context.Context; import com.ai.cloud.skywalking.context.Span; import com.ai.cloud.skywalking.model.ContextData; -import com.ai.cloud.skywalking.model.SendData; +import com.ai.cloud.skywalking.model.Identification; import com.ai.cloud.skywalking.util.ContextGenerator; import com.ai.cloud.skywalking.util.ExceptionHandleUtil; public class RPCBuriedPointSender implements IBuriedPointSender { - public ContextData beforeSend(SendData sendData) { - Span spanData = ContextGenerator.generateContextFromThreadLocal(sendData); + public ContextData beforeSend(Identification id) { + Span spanData = ContextGenerator.generateContextFromThreadLocal(id); // 3.将新创建的Context存放到ThreadLocal栈中。 Context.getOrCreate().append(spanData); // 4 并将当前的Context返回回去 diff --git a/skywalking-api/src/main/java/com/ai/cloud/skywalking/buriedpoint/ThreadBuriedPointSender.java b/skywalking-api/src/main/java/com/ai/cloud/skywalking/buriedpoint/ThreadBuriedPointSender.java index 1a80f0d2a..df7a1e115 100644 --- a/skywalking-api/src/main/java/com/ai/cloud/skywalking/buriedpoint/ThreadBuriedPointSender.java +++ b/skywalking-api/src/main/java/com/ai/cloud/skywalking/buriedpoint/ThreadBuriedPointSender.java @@ -5,7 +5,7 @@ import com.ai.cloud.skywalking.buffer.ContextBuffer; import com.ai.cloud.skywalking.context.Context; import com.ai.cloud.skywalking.context.Span; import com.ai.cloud.skywalking.model.ContextData; -import com.ai.cloud.skywalking.model.SendData; +import com.ai.cloud.skywalking.model.Identification; import com.ai.cloud.skywalking.util.BuriedPointMachineUtil; import com.ai.cloud.skywalking.util.ExceptionHandleUtil; import com.ai.cloud.skywalking.util.TraceIdGenerator; @@ -29,12 +29,12 @@ public class ThreadBuriedPointSender implements IBuriedPointSender { this.span = spanData; } - public ContextData beforeSend(SendData sendData) { + public ContextData beforeSend(Identification id) { if (this.span == null) { return null; } span.setStartDate(System.currentTimeMillis()); - span.setViewPointId(sendData.getViewPoint()); + span.setViewPointId(id.getViewPoint()); span.setProcessNo(BuriedPointMachineUtil.getProcessNo()); Context.getOrCreate().append(span); return new ContextData(span); diff --git a/skywalking-api/src/main/java/com/ai/cloud/skywalking/buriedpoint/ThreadFactoryBuriedPointSender.java b/skywalking-api/src/main/java/com/ai/cloud/skywalking/buriedpoint/ThreadFactoryBuriedPointSender.java index 3de53fc81..e2f3acd30 100644 --- a/skywalking-api/src/main/java/com/ai/cloud/skywalking/buriedpoint/ThreadFactoryBuriedPointSender.java +++ b/skywalking-api/src/main/java/com/ai/cloud/skywalking/buriedpoint/ThreadFactoryBuriedPointSender.java @@ -5,14 +5,14 @@ import com.ai.cloud.skywalking.buffer.ContextBuffer; import com.ai.cloud.skywalking.context.Context; import com.ai.cloud.skywalking.context.Span; import com.ai.cloud.skywalking.model.ContextData; -import com.ai.cloud.skywalking.model.SendData; +import com.ai.cloud.skywalking.model.Identification; import com.ai.cloud.skywalking.util.ContextGenerator; import com.ai.cloud.skywalking.util.ExceptionHandleUtil; public class ThreadFactoryBuriedPointSender implements IBuriedPointSender { - public ContextData beforeSend(SendData sendData) { - Span spanData = ContextGenerator.generateContextFromThreadLocal(sendData); + public ContextData beforeSend(Identification id) { + Span spanData = ContextGenerator.generateContextFromThreadLocal(id); // 3.将新创建的Context存放到ThreadLocal栈中。 Context.getOrCreate().append(spanData); // 4 并将当前的Context返回回去 diff --git a/skywalking-api/src/main/java/com/ai/cloud/skywalking/model/Identification.java b/skywalking-api/src/main/java/com/ai/cloud/skywalking/model/Identification.java new file mode 100644 index 000000000..036f583ed --- /dev/null +++ b/skywalking-api/src/main/java/com/ai/cloud/skywalking/model/Identification.java @@ -0,0 +1,47 @@ +package com.ai.cloud.skywalking.model; + +public class Identification { + private String viewPoint; + private String businessKey; + + public Identification() { + //Non + } + + public String getViewPoint() { + return viewPoint; + } + + public String getBusinessKey() { + return businessKey; + } + + public static IdentificationBuilder newBuilder() { + return new IdentificationBuilder(); + } + + public static class IdentificationBuilder { + private Identification sendData; + + IdentificationBuilder() { + sendData = new Identification(); + } + + public Identification build() { + return sendData; + } + + public IdentificationBuilder viewPoint(String viewPoint) { + sendData.viewPoint = viewPoint; + return this; + } + + public IdentificationBuilder businessKey(String businessKey) { + sendData.businessKey = businessKey; + return this; + } + + } + + +} diff --git a/skywalking-api/src/main/java/com/ai/cloud/skywalking/model/SendData.java b/skywalking-api/src/main/java/com/ai/cloud/skywalking/model/SendData.java deleted file mode 100644 index 801bd32ca..000000000 --- a/skywalking-api/src/main/java/com/ai/cloud/skywalking/model/SendData.java +++ /dev/null @@ -1,57 +0,0 @@ -package com.ai.cloud.skywalking.model; - -public class SendData { - private String viewPoint; - private String URI; - private String businessKey; - - public SendData() { - //Non - } - - public String getViewPoint() { - return viewPoint; - } - - public String getURI() { - return URI; - } - - public String getBusinessKey() { - return businessKey; - } - - public static SendDataBuilder newBuilder() { - return new SendDataBuilder(); - } - - public static class SendDataBuilder { - private SendData sendData; - - SendDataBuilder() { - sendData = new SendData(); - } - - public SendData build() { - return sendData; - } - - public SendDataBuilder viewPoint(String viewPoint) { - sendData.viewPoint = viewPoint; - return this; - } - - public SendDataBuilder URI(String uri) { - sendData.URI = uri; - return this; - } - - public SendDataBuilder businessKey(String businessKey) { - sendData.businessKey = businessKey; - return this; - } - - } - - -} diff --git a/skywalking-api/src/main/java/com/ai/cloud/skywalking/util/ContextGenerator.java b/skywalking-api/src/main/java/com/ai/cloud/skywalking/util/ContextGenerator.java index 4168bdf9c..2cdb8b5df 100644 --- a/skywalking-api/src/main/java/com/ai/cloud/skywalking/util/ContextGenerator.java +++ b/skywalking-api/src/main/java/com/ai/cloud/skywalking/util/ContextGenerator.java @@ -3,7 +3,7 @@ package com.ai.cloud.skywalking.util; import com.ai.cloud.skywalking.context.Context; import com.ai.cloud.skywalking.context.Span; import com.ai.cloud.skywalking.model.ContextData; -import com.ai.cloud.skywalking.model.SendData; +import com.ai.cloud.skywalking.model.Identification; public final class ContextGenerator { /** @@ -12,7 +12,7 @@ public final class ContextGenerator { * @param sendData 视点,业务数据等信息 * @return */ - public static Span generateContextFromThreadLocal(SendData sendData) { + public static Span generateContextFromThreadLocal(Identification sendData) { Span spanData = getContextFromThreadLocal(); // 设置基本属性 spanData.setStartDate(System.currentTimeMillis()); diff --git a/skywalking-sdk-plugin/spring-plugin/src/main/java/com/ai/cloud/skywalking/plugin/spring/TracingEnhanceProcessor.java b/skywalking-sdk-plugin/spring-plugin/src/main/java/com/ai/cloud/skywalking/plugin/spring/TracingEnhanceProcessor.java index d4489be84..515bf79b1 100644 --- a/skywalking-sdk-plugin/spring-plugin/src/main/java/com/ai/cloud/skywalking/plugin/spring/TracingEnhanceProcessor.java +++ b/skywalking-sdk-plugin/spring-plugin/src/main/java/com/ai/cloud/skywalking/plugin/spring/TracingEnhanceProcessor.java @@ -1,7 +1,7 @@ package com.ai.cloud.skywalking.plugin.spring; import com.ai.cloud.skywalking.buriedpoint.LocalBuriedPointSender; -import com.ai.cloud.skywalking.model.SendData; +import com.ai.cloud.skywalking.model.Identification; import javassist.*; import org.springframework.beans.BeansException; import org.springframework.beans.factory.config.BeanPostProcessor; @@ -49,12 +49,12 @@ public class TracingEnhanceProcessor implements BeanPostProcessor { // TODO 参数注解 mCtc.addMethod(CtMethod.make(result.toString(), mCtc)); } - mCtc.addConstructor(CtNewConstructor.make("public " + bean.getClass().getSimpleName() + "Proxy(" + LocalBuriedPointSender.class + mCtc.addConstructor(CtNewConstructor.make("public " + mCtc.getSimpleName() + "(" + LocalBuriedPointSender.class .getName() + " buriedPoint, " + bean.getClass().getName() + " realBean){" + "this.buriedPoint = buriedPoint;this.realBean = realBean;}", mCtc)); mCtc.addConstructor(CtNewConstructor.defaultConstructor(mCtc)); - Class classes = mCtc.toClass(); - Constructor constructor = classes.getConstructor(LocalBuriedPointSender.class, bean.getClass()); + Class classes = mCtc.toClass(); + Constructor constructor = classes.getConstructor(LocalBuriedPointSender.class, bean.getClass()); return constructor.newInstance(new LocalBuriedPointSender(), bean); } catch (CannotCompileException e) { e.printStackTrace(); @@ -94,10 +94,10 @@ public class TracingEnhanceProcessor implements BeanPostProcessor { } private String generateBeforeSendParamter(Object bean, Method method) { - StringBuilder builder = new StringBuilder("(" + SendData.class.getName() + ".newBuilder().viewPoint(\"" + StringBuilder builder = new StringBuilder("(" + Identification.class.getName() + ".newBuilder().viewPoint(\"" + bean.getClass().getName() + "." + method.getName()); builder.append("("); - for (Class param : method.getParameterTypes()) { + for (Class param : method.getParameterTypes()) { builder.append(param.getSimpleName() + ","); } if (method.getGenericParameterTypes().length > 0) { @@ -113,7 +113,7 @@ public class TracingEnhanceProcessor implements BeanPostProcessor { int index; result.append("("); index = 0; - for (Class parameter : method.getParameterTypes()) { + for (Class parameter : method.getParameterTypes()) { result.append(parameter.getSimpleName().toLowerCase() + "$" + (index++) + ","); } if (method.getParameterTypes().length > 0) { @@ -129,7 +129,7 @@ public class TracingEnhanceProcessor implements BeanPostProcessor { private String generateException(Method method) { StringBuilder resultB = new StringBuilder(" throws "); - for (Class exceptionClasses : method.getExceptionTypes()) { + for (Class exceptionClasses : method.getExceptionTypes()) { resultB.append(exceptionClasses.getName() + ","); } if (method.getExceptionTypes().length > 0) { @@ -144,7 +144,7 @@ public class TracingEnhanceProcessor implements BeanPostProcessor { StringBuilder result = new StringBuilder(); result.append("("); int index = 0; - for (Class param : method.getParameterTypes()) { + for (Class param : method.getParameterTypes()) { result.append(param.getName() + " " + param.getSimpleName(). toLowerCase() + "$" + (index++) + ","); } @@ -160,11 +160,11 @@ public class TracingEnhanceProcessor implements BeanPostProcessor { } private CtClass createProxyClass(Object bean, ClassPool mPool) { - return mPool.makeClass(bean.getClass().getSimpleName() + "Proxy$" + ThreadLocalRandom.current().nextInt(100)); + return mPool.makeClass(bean.getClass().getSimpleName() + "$EnhanceBySWTracing$" + ThreadLocalRandom.current().nextInt(100)); } private void inheritanceAllInterfaces(Object bean, ClassPool mPool, CtClass mCtc) throws NotFoundException { - for (Class classes : bean.getClass().getInterfaces()) { + for (Class classes : bean.getClass().getInterfaces()) { mCtc.addInterface(mPool.get(classes.getClass().getName())); } }