diff --git a/skywalking-sniffer/skywalking-api/src/main/java/com/a/eye/skywalking/invoke/monitor/BaseInvokeMonitor.java b/skywalking-sniffer/skywalking-api/src/main/java/com/a/eye/skywalking/invoke/monitor/BaseInvokeMonitor.java index 4922043d446e319fc5e1b53911b6ee80957921bb..c5ca0a2614e29100fb2f260b01a91eb9d48f0fbd 100644 --- a/skywalking-sniffer/skywalking-api/src/main/java/com/a/eye/skywalking/invoke/monitor/BaseInvokeMonitor.java +++ b/skywalking-sniffer/skywalking-api/src/main/java/com/a/eye/skywalking/invoke/monitor/BaseInvokeMonitor.java @@ -33,10 +33,6 @@ public abstract class BaseInvokeMonitor { // 将新创建的Context存放到ThreadLocal栈中。 CurrentThreadSpanStack.push(spanData); - // 根据SpanData生成RequestSpan,并保存 - - CurrentThreadSpanStack.push(spanData); - sendRequestSpan(spanData, id); // 并将当前的Context返回回去 diff --git a/skywalking-sniffer/skywalking-sdk-plugin/dubbo-plugin/src/main/java/com/a/eye/skywalking/plugin/dubbo/MonitorFilterInterceptor.java b/skywalking-sniffer/skywalking-sdk-plugin/dubbo-plugin/src/main/java/com/a/eye/skywalking/plugin/dubbo/MonitorFilterInterceptor.java index 371a944fc10a145a47d594bf03c3d315100351f0..c88458879283b0b575916606ea7cd6101fe62585 100644 --- a/skywalking-sniffer/skywalking-sdk-plugin/dubbo-plugin/src/main/java/com/a/eye/skywalking/plugin/dubbo/MonitorFilterInterceptor.java +++ b/skywalking-sniffer/skywalking-sdk-plugin/dubbo-plugin/src/main/java/com/a/eye/skywalking/plugin/dubbo/MonitorFilterInterceptor.java @@ -1,16 +1,15 @@ package com.a.eye.skywalking.plugin.dubbo; +import com.a.eye.skywalking.invoke.monitor.RPCClientInvokeMonitor; import com.a.eye.skywalking.invoke.monitor.RPCServerInvokeMonitor; import com.a.eye.skywalking.model.ContextData; import com.a.eye.skywalking.model.Identification; import com.a.eye.skywalking.plugin.dubbox.bugfix.below283.BugFixAcitve; import com.a.eye.skywalking.plugin.dubbox.bugfix.below283.SWBaseBean; import com.a.eye.skywalking.plugin.interceptor.EnhancedClassInstanceContext; -import com.a.eye.skywalking.plugin.interceptor.enhance.ConstructorInvokeContext; import com.a.eye.skywalking.plugin.interceptor.enhance.InstanceMethodInvokeContext; import com.a.eye.skywalking.plugin.interceptor.enhance.InstanceMethodsAroundInterceptor; import com.a.eye.skywalking.plugin.interceptor.enhance.MethodInterceptResult; -import com.a.eye.skywalking.invoke.monitor.RPCClientInvokeMonitor; import com.alibaba.dubbo.rpc.Invocation; import com.alibaba.dubbo.rpc.Invoker; import com.alibaba.dubbo.rpc.Result; @@ -19,7 +18,7 @@ import com.alibaba.dubbo.rpc.RpcContext; public class MonitorFilterInterceptor implements InstanceMethodsAroundInterceptor { @Override public void beforeMethod(EnhancedClassInstanceContext context, InstanceMethodInvokeContext interceptorContext, - MethodInterceptResult result) { + MethodInterceptResult result) { Object[] arguments = interceptorContext.allArguments(); Invoker invoker = (Invoker) arguments[0]; Invocation invocation = (Invocation) arguments[1]; @@ -74,7 +73,7 @@ public class MonitorFilterInterceptor implements InstanceMethodsAroundIntercepto @Override public Object afterMethod(EnhancedClassInstanceContext context, InstanceMethodInvokeContext interceptorContext, - Object ret) { + Object ret) { Result result = (Result) ret; if (result != null && result.getException() != null) { dealException(result.getException(), context); @@ -91,7 +90,7 @@ public class MonitorFilterInterceptor implements InstanceMethodsAroundIntercepto @Override public void handleMethodException(Throwable t, EnhancedClassInstanceContext context, - InstanceMethodInvokeContext interceptorContext) { + InstanceMethodInvokeContext interceptorContext) { dealException(t, context); } diff --git a/skywalking-sniffer/skywalking-sdk-plugin/motan-plugin/src/main/java/com/a/eye/skywalking/plugin/motan/IdentificationUtil.java b/skywalking-sniffer/skywalking-sdk-plugin/motan-plugin/src/main/java/com/a/eye/skywalking/plugin/motan/IdentificationUtil.java deleted file mode 100644 index 2b22e60bc6f9bad4c90ae7a94c674e639353fa9c..0000000000000000000000000000000000000000 --- a/skywalking-sniffer/skywalking-sdk-plugin/motan-plugin/src/main/java/com/a/eye/skywalking/plugin/motan/IdentificationUtil.java +++ /dev/null @@ -1,43 +0,0 @@ -package com.a.eye.skywalking.plugin.motan; - -import com.a.eye.skywalking.model.Identification; -import com.weibo.api.motan.rpc.Request; -import com.weibo.api.motan.rpc.URL; - -import java.util.Map; - -public class IdentificationUtil { - /** - * for example: - *

- * service URL : motan://172.18.80.208:0/org.a.eye.skywalking.motan - * .FooService?group=default_rpc - * execute method : helloWorld - * execute parameter: java.lang.String,java.lang.String - *

- *

- * view point: motan://172.18.80.208:0/org.a.eye.skywalking.motan.FooService.helloWorld - * (java.lang.String,java.lang.String)?group=default_rpc - * - * @param serviceURI such as: motan://172.18.80.208:0/org.a.eye.skywalking.motan.FooService?group=default_rpc - * @param request - * @return such as: motan://172.18.80.208:0/org.a.eye.skywalking.motan.FooService.helloWorld - * (java.lang.String,java.lang.String)?group=default_rpc - */ - private static String generateViewPoint(URL serviceURI, Request request) { - StringBuilder viewPoint = new StringBuilder(serviceURI.getUri()); - viewPoint.append("." + request.getMethodName()); - viewPoint.append("(" + request.getParamtersDesc() + ")?group=" + serviceURI.getGroup()); - return viewPoint.toString(); - } - - /** - * @param request - * @param serviceURI such as: motan://172.18.80.208:0/org.a.eye.skywalking.motan.FooService?group=default_rpc - * @return - */ - public static Identification generateIdentify(Request request, URL serviceURI) { - return Identification.newBuilder().viewPoint(generateViewPoint(serviceURI, request)) - .spanType(MotanBuriedPointType.instance()).build(); - } -} diff --git a/skywalking-sniffer/skywalking-sdk-plugin/motan-plugin/src/main/java/com/a/eye/skywalking/plugin/motan/MotanClientInterceptor.java b/skywalking-sniffer/skywalking-sdk-plugin/motan-plugin/src/main/java/com/a/eye/skywalking/plugin/motan/MotanClientInterceptor.java index a8567a392f261c18fcf34e672a101d0e0fcbd74a..4e87d8e26ff8cc69d6fc65f5a204fc88442bf077 100644 --- a/skywalking-sniffer/skywalking-sdk-plugin/motan-plugin/src/main/java/com/a/eye/skywalking/plugin/motan/MotanClientInterceptor.java +++ b/skywalking-sniffer/skywalking-sdk-plugin/motan-plugin/src/main/java/com/a/eye/skywalking/plugin/motan/MotanClientInterceptor.java @@ -2,13 +2,16 @@ package com.a.eye.skywalking.plugin.motan; import com.a.eye.skywalking.invoke.monitor.RPCClientInvokeMonitor; import com.a.eye.skywalking.model.ContextData; +import com.a.eye.skywalking.model.Identification; import com.a.eye.skywalking.plugin.interceptor.EnhancedClassInstanceContext; -import com.a.eye.skywalking.plugin.interceptor.enhance.*; +import com.a.eye.skywalking.plugin.interceptor.enhance.ConstructorInvokeContext; +import com.a.eye.skywalking.plugin.interceptor.enhance.InstanceConstructorInterceptor; +import com.a.eye.skywalking.plugin.interceptor.enhance.InstanceMethodInvokeContext; +import com.a.eye.skywalking.plugin.interceptor.enhance.InstanceMethodsAroundInterceptor; +import com.a.eye.skywalking.plugin.interceptor.enhance.MethodInterceptResult; import com.weibo.api.motan.rpc.Request; import com.weibo.api.motan.rpc.URL; -import static com.a.eye.skywalking.plugin.motan.IdentificationUtil.generateIdentify; - /** * Motan client interceptor */ @@ -20,11 +23,11 @@ public class MotanClientInterceptor implements InstanceMethodsAroundInterceptor, @Override public void beforeMethod(EnhancedClassInstanceContext context, InstanceMethodInvokeContext interceptorContext, - MethodInterceptResult result) { - Request request = (Request) interceptorContext.allArguments()[0]; + MethodInterceptResult result) { + com.weibo.api.motan.rpc.Request request = (com.weibo.api.motan.rpc.Request) interceptorContext.allArguments()[0]; if (request != null) { ContextData contextData = new RPCClientInvokeMonitor() - .beforeInvoke(generateIdentify(request, (URL) context.get("serviceURI"))); + .beforeInvoke(generateIdentify(request, (com.weibo.api.motan.rpc.URL) context.get("serviceURI"))); String contextDataStr = contextData.toString(); request.setAttachment("contextData", contextDataStr); } @@ -32,15 +35,28 @@ public class MotanClientInterceptor implements InstanceMethodsAroundInterceptor, @Override public Object afterMethod(EnhancedClassInstanceContext context, InstanceMethodInvokeContext interceptorContext, - Object ret) { + Object ret) { new RPCClientInvokeMonitor().afterInvoke(); return ret; } @Override public void handleMethodException(Throwable t, EnhancedClassInstanceContext context, - InstanceMethodInvokeContext interceptorContext) { + InstanceMethodInvokeContext interceptorContext) { new RPCClientInvokeMonitor().occurException(t); } + + private static String generateViewPoint(URL serviceURI, Request request) { + StringBuilder viewPoint = new StringBuilder(serviceURI.getUri()); + viewPoint.append("." + request.getMethodName()); + viewPoint.append("(" + request.getParamtersDesc() + ")?group=" + serviceURI.getGroup()); + return viewPoint.toString(); + } + + + public static Identification generateIdentify(Request request, URL serviceURI) { + return Identification.newBuilder().viewPoint(generateViewPoint(serviceURI, request)) + .spanType(MotanBuriedPointType.instance()).build(); + } } diff --git a/skywalking-sniffer/skywalking-sdk-plugin/motan-plugin/src/main/java/com/a/eye/skywalking/plugin/motan/MotanServerInterceptor.java b/skywalking-sniffer/skywalking-sdk-plugin/motan-plugin/src/main/java/com/a/eye/skywalking/plugin/motan/MotanServerInterceptor.java index 4082ed51c4a2ae481ccf6a2de6f42d7b9d79d8bb..ed8f67b16b01d64bc4b207598dfc713631b9f544 100644 --- a/skywalking-sniffer/skywalking-sdk-plugin/motan-plugin/src/main/java/com/a/eye/skywalking/plugin/motan/MotanServerInterceptor.java +++ b/skywalking-sniffer/skywalking-sdk-plugin/motan-plugin/src/main/java/com/a/eye/skywalking/plugin/motan/MotanServerInterceptor.java @@ -2,8 +2,13 @@ package com.a.eye.skywalking.plugin.motan; import com.a.eye.skywalking.invoke.monitor.RPCServerInvokeMonitor; import com.a.eye.skywalking.model.ContextData; +import com.a.eye.skywalking.model.Identification; import com.a.eye.skywalking.plugin.interceptor.EnhancedClassInstanceContext; -import com.a.eye.skywalking.plugin.interceptor.enhance.*; +import com.a.eye.skywalking.plugin.interceptor.enhance.ConstructorInvokeContext; +import com.a.eye.skywalking.plugin.interceptor.enhance.InstanceConstructorInterceptor; +import com.a.eye.skywalking.plugin.interceptor.enhance.InstanceMethodInvokeContext; +import com.a.eye.skywalking.plugin.interceptor.enhance.InstanceMethodsAroundInterceptor; +import com.a.eye.skywalking.plugin.interceptor.enhance.MethodInterceptResult; import com.weibo.api.motan.rpc.Request; import com.weibo.api.motan.rpc.URL; @@ -15,24 +20,38 @@ public class MotanServerInterceptor implements InstanceConstructorInterceptor, I @Override public void beforeMethod(EnhancedClassInstanceContext context, InstanceMethodInvokeContext interceptorContext, - MethodInterceptResult result) { - Request request = (Request) interceptorContext.allArguments()[0]; + MethodInterceptResult result) { + com.weibo.api.motan.rpc.Request request = (com.weibo.api.motan.rpc.Request) interceptorContext.allArguments()[0]; if (request != null) { new RPCServerInvokeMonitor().beforeInvoke(new ContextData(request.getAttachments().get("contextData")), - IdentificationUtil.generateIdentify(request, (URL) context.get("serviceURI"))); + generateIdentify(request, (com.weibo.api.motan.rpc.URL) context.get("serviceURI"))); } } @Override public Object afterMethod(EnhancedClassInstanceContext context, InstanceMethodInvokeContext interceptorContext, - Object ret) { + Object ret) { new RPCServerInvokeMonitor().afterInvoke(); return ret; } @Override public void handleMethodException(Throwable t, EnhancedClassInstanceContext context, - InstanceMethodInvokeContext interceptorContext) { + InstanceMethodInvokeContext interceptorContext) { new RPCServerInvokeMonitor().occurException(t); } + + + private static String generateViewPoint(URL serviceURI, Request request) { + StringBuilder viewPoint = new StringBuilder(serviceURI.getUri()); + viewPoint.append("." + request.getMethodName()); + viewPoint.append("(" + request.getParamtersDesc() + ")?group=" + serviceURI.getGroup()); + return viewPoint.toString(); + } + + + public static Identification generateIdentify(Request request, URL serviceURI) { + return Identification.newBuilder().viewPoint(generateViewPoint(serviceURI, request)) + .spanType(MotanBuriedPointType.instance()).build(); + } } diff --git a/skywalking-sniffer/skywalking-toolkit-activation/skywalking-toolkit-log4j-1.x-activation/src/main/java/com/a/eye/skywalking/toolkit/activation/log/log4j/v1/x/TraceIdPatternConverterActivation.java b/skywalking-sniffer/skywalking-toolkit-activation/skywalking-toolkit-log4j-1.x-activation/src/main/java/com/a/eye/skywalking/toolkit/activation/log/log4j/v1/x/TraceIdPatternConverterActivation.java index 81549c6b4a38341f7d6e23a3dc0e275db97a178b..c6513597c387ba7cdadf9115a51381476d26d7c9 100644 --- a/skywalking-sniffer/skywalking-toolkit-activation/skywalking-toolkit-log4j-1.x-activation/src/main/java/com/a/eye/skywalking/toolkit/activation/log/log4j/v1/x/TraceIdPatternConverterActivation.java +++ b/skywalking-sniffer/skywalking-toolkit-activation/skywalking-toolkit-log4j-1.x-activation/src/main/java/com/a/eye/skywalking/toolkit/activation/log/log4j/v1/x/TraceIdPatternConverterActivation.java @@ -30,7 +30,7 @@ public class TraceIdPatternConverterActivation extends ClassInstanceMethodsEnhan @Override public String getMethodsInterceptor() { - return "PrintTraceIdInterceptor"; + return "com.a.eye.skywalking.toolkit.activation.log.log4j.v1.x.PrintTraceIdInterceptor"; } }}; } diff --git a/skywalking-sniffer/skywalking-toolkit-activation/skywalking-toolkit-log4j-2.x-activation/src/main/java/com/a/eye/skywalking/toolkit/activation/log/log4j/v2/x/Log4j2OutputAppenderActivation.java b/skywalking-sniffer/skywalking-toolkit-activation/skywalking-toolkit-log4j-2.x-activation/src/main/java/com/a/eye/skywalking/toolkit/activation/log/log4j/v2/x/Log4j2OutputAppenderActivation.java index 909d485891e179ac2626091811d88e6f60fc57d3..4516ba062518a194fb95b1867ab26cd51423391c 100644 --- a/skywalking-sniffer/skywalking-toolkit-activation/skywalking-toolkit-log4j-2.x-activation/src/main/java/com/a/eye/skywalking/toolkit/activation/log/log4j/v2/x/Log4j2OutputAppenderActivation.java +++ b/skywalking-sniffer/skywalking-toolkit-activation/skywalking-toolkit-log4j-2.x-activation/src/main/java/com/a/eye/skywalking/toolkit/activation/log/log4j/v2/x/Log4j2OutputAppenderActivation.java @@ -24,7 +24,7 @@ public class Log4j2OutputAppenderActivation extends ClassStaticMethodsEnhancePlu @Override public String getMethodsInterceptor() { - return "PrintTraceIdInterceptor"; + return "com.a.eye.skywalking.toolkit.log.log4j.v2.x.PrintTraceIdInterceptor"; } }}; } diff --git a/skywalking-sniffer/skywalking-toolkit-activation/skywalking-toolkit-logback-1.x-activation/src/main/java/com/a/eye/skywalking/toolkit/activation/log/logback/v1/x/LogbackPatternConverterActivation.java b/skywalking-sniffer/skywalking-toolkit-activation/skywalking-toolkit-logback-1.x-activation/src/main/java/com/a/eye/skywalking/toolkit/activation/log/logback/v1/x/LogbackPatternConverterActivation.java index 42c7b631c2d62215420c0bf2560cb5a2f439e0c3..57638c7b38d7d08ba34bc533dac7d306e94a4f28 100644 --- a/skywalking-sniffer/skywalking-toolkit-activation/skywalking-toolkit-logback-1.x-activation/src/main/java/com/a/eye/skywalking/toolkit/activation/log/logback/v1/x/LogbackPatternConverterActivation.java +++ b/skywalking-sniffer/skywalking-toolkit-activation/skywalking-toolkit-logback-1.x-activation/src/main/java/com/a/eye/skywalking/toolkit/activation/log/logback/v1/x/LogbackPatternConverterActivation.java @@ -30,7 +30,7 @@ public class LogbackPatternConverterActivation extends ClassInstanceMethodsEnhan @Override public String getMethodsInterceptor() { - return "PrintTraceIdInterceptor"; + return "com.a.eye.skywalking.toolkit.log.logback.v1.x.PrintTraceIdInterceptor"; } }}; } diff --git a/skywalking-storage-center/skywalking-storage/src/main/java/com/a/eye/skywalking/storage/data/index/IndexOperator.java b/skywalking-storage-center/skywalking-storage/src/main/java/com/a/eye/skywalking/storage/data/index/IndexOperator.java index daf030082d52b3fde5051e936928253e05af178d..6d9f344ae1741558d0660aeab6ea9e7f0a2670dd 100644 --- a/skywalking-storage-center/skywalking-storage/src/main/java/com/a/eye/skywalking/storage/data/index/IndexOperator.java +++ b/skywalking-storage-center/skywalking-storage/src/main/java/com/a/eye/skywalking/storage/data/index/IndexOperator.java @@ -74,7 +74,7 @@ public class IndexOperator { IndexMetaCollection collection = new IndexMetaCollection(); SearchResponse response = - client.prepareSearch(INDEX_NAME).setTypes(INDEX_TYPE).setQuery(queryBuilder).execute().actionGet(); + client.prepareSearch(INDEX_NAME).setTypes(INDEX_TYPE).setFrom(0).setSize(10000).setQuery(queryBuilder).execute().actionGet(); for (SearchHit hit : response.getHits()) { DataFileNameDesc desc = new DataFileNameDesc(Long.parseLong(hit.getSource().get("fileName").toString()), Integer.parseInt(hit.getSource().get("fileName_suffix").toString()));