diff --git a/CHANGES.md b/CHANGES.md index 1ddf9a3815e047cb16443d4c5e6cc94d641da336..c48826fc37ef9cf8295ccc24514451dabca9bb9b 100644 --- a/CHANGES.md +++ b/CHANGES.md @@ -27,6 +27,7 @@ Release Notes. * Add Dolphinscheduler plugin definition. * Make sampling still works when the trace ignores plug-in activation. * Fix mssql-plugin occur ClassCastException when call the method of return generate key. +* The operation name of dubbo and dubbo-2.7.x-plugin, has been changed as the `groupValue/className.methodName` format * Fix bug that rocketmq-plugin set the wrong tag. #### OAP-Backend diff --git a/apm-sniffer/apm-sdk-plugin/dubbo-2.7.x-plugin/src/main/java/org/apache/skywalking/apm/plugin/asf/dubbo/DubboInterceptor.java b/apm-sniffer/apm-sdk-plugin/dubbo-2.7.x-plugin/src/main/java/org/apache/skywalking/apm/plugin/asf/dubbo/DubboInterceptor.java index f032cb216b6682596f561a1f2618277f62d320c5..9a8d1aeab2fee8bf1a54e90689202a7f9a219dfd 100644 --- a/apm-sniffer/apm-sdk-plugin/dubbo-2.7.x-plugin/src/main/java/org/apache/skywalking/apm/plugin/asf/dubbo/DubboInterceptor.java +++ b/apm-sniffer/apm-sdk-plugin/dubbo-2.7.x-plugin/src/main/java/org/apache/skywalking/apm/plugin/asf/dubbo/DubboInterceptor.java @@ -18,6 +18,7 @@ package org.apache.skywalking.apm.plugin.asf.dubbo; +import org.apache.dubbo.common.Constants; import org.apache.dubbo.common.URL; import org.apache.dubbo.rpc.Invocation; import org.apache.dubbo.rpc.Invoker; @@ -33,6 +34,7 @@ import org.apache.skywalking.apm.agent.core.plugin.interceptor.enhance.EnhancedI import org.apache.skywalking.apm.agent.core.plugin.interceptor.enhance.InstanceMethodsAroundInterceptor; import org.apache.skywalking.apm.agent.core.plugin.interceptor.enhance.MethodInterceptResult; import org.apache.skywalking.apm.network.trace.component.ComponentsDefine; +import org.apache.skywalking.apm.util.StringUtil; import java.lang.reflect.Method; @@ -136,6 +138,9 @@ public class DubboInterceptor implements InstanceMethodsAroundInterceptor { */ private String generateOperationName(URL requestURL, Invocation invocation) { StringBuilder operationName = new StringBuilder(); + String groupStr = requestURL.getParameter(Constants.GROUP_KEY); + groupStr = StringUtil.isEmpty(groupStr) ? "" : groupStr + "/"; + operationName.append(groupStr); operationName.append(requestURL.getPath()); operationName.append("." + invocation.getMethodName() + "("); for (Class classes : invocation.getParameterTypes()) { diff --git a/apm-sniffer/apm-sdk-plugin/dubbo-plugin/src/main/java/org/apache/skywalking/apm/plugin/dubbo/DubboInterceptor.java b/apm-sniffer/apm-sdk-plugin/dubbo-plugin/src/main/java/org/apache/skywalking/apm/plugin/dubbo/DubboInterceptor.java index 8d3492b9352c9268187c51fc3e1a5cb5a7ce4d30..37b9e330c968f52881979461a7e640a1ff7b8b68 100644 --- a/apm-sniffer/apm-sdk-plugin/dubbo-plugin/src/main/java/org/apache/skywalking/apm/plugin/dubbo/DubboInterceptor.java +++ b/apm-sniffer/apm-sdk-plugin/dubbo-plugin/src/main/java/org/apache/skywalking/apm/plugin/dubbo/DubboInterceptor.java @@ -18,6 +18,7 @@ package org.apache.skywalking.apm.plugin.dubbo; +import com.alibaba.dubbo.common.Constants; import com.alibaba.dubbo.common.URL; import com.alibaba.dubbo.rpc.Invocation; import com.alibaba.dubbo.rpc.Invoker; @@ -34,6 +35,7 @@ import org.apache.skywalking.apm.agent.core.plugin.interceptor.enhance.EnhancedI import org.apache.skywalking.apm.agent.core.plugin.interceptor.enhance.InstanceMethodsAroundInterceptor; import org.apache.skywalking.apm.agent.core.plugin.interceptor.enhance.MethodInterceptResult; import org.apache.skywalking.apm.network.trace.component.ComponentsDefine; +import org.apache.skywalking.apm.util.StringUtil; /** * {@link DubboInterceptor} define how to enhance class {@link com.alibaba.dubbo.monitor.support.MonitorFilter#invoke(Invoker, @@ -123,6 +125,9 @@ public class DubboInterceptor implements InstanceMethodsAroundInterceptor { */ private String generateOperationName(URL requestURL, Invocation invocation) { StringBuilder operationName = new StringBuilder(); + String groupStr = requestURL.getParameter(Constants.GROUP_KEY); + groupStr = StringUtil.isEmpty(groupStr) ? "" : groupStr + "/"; + operationName.append(groupStr); operationName.append(requestURL.getPath()); operationName.append("." + invocation.getMethodName() + "("); for (Class classes : invocation.getParameterTypes()) {