diff --git a/apm-sniffer/apm-sdk-plugin/spring-plugins/webflux-5.x-plugin/src/main/java/org/apache/skywalking/apm/plugin/spring/webflux/v5/OnInboundNextInterceptor.java b/apm-sniffer/apm-sdk-plugin/spring-plugins/webflux-5.x-plugin/src/main/java/org/apache/skywalking/apm/plugin/spring/webflux/v5/OnInboundNextInterceptor.java index e6031f7ba..fd279fe21 100644 --- a/apm-sniffer/apm-sdk-plugin/spring-plugins/webflux-5.x-plugin/src/main/java/org/apache/skywalking/apm/plugin/spring/webflux/v5/OnInboundNextInterceptor.java +++ b/apm-sniffer/apm-sdk-plugin/spring-plugins/webflux-5.x-plugin/src/main/java/org/apache/skywalking/apm/plugin/spring/webflux/v5/OnInboundNextInterceptor.java @@ -46,7 +46,7 @@ public class OnInboundNextInterceptor implements InstanceMethodsAroundIntercepto } if (allArguments[1] instanceof HttpRequest) { - AbstractSpan span = ContextManager.createEntrySpan(request.uri(), contextCarrier); + AbstractSpan span = ContextManager.createEntrySpan(toPath(request.uri()), contextCarrier); Tags.URL.set(span, request.uri()); Tags.HTTP.METHOD.set(span, request.method().name()); span.setComponent(ComponentsDefine.SPRING_MVC_ANNOTATION); @@ -65,4 +65,13 @@ public class OnInboundNextInterceptor implements InstanceMethodsAroundIntercepto Class[] argumentsTypes, Throwable t) { ContextManager.activeSpan().errorOccurred().log(t); } + + private static String toPath(String uri) { + int index = uri.indexOf("?"); + if (index > -1) { + return uri.substring(0, index); + } else { + return uri; + } + } } diff --git a/apm-sniffer/apm-sdk-plugin/vertx-plugins/vertx-core-3.x-plugin/src/main/java/org/apache/skywalking/apm/plugin/vertx3/HttpClientRequestImplEndInterceptor.java b/apm-sniffer/apm-sdk-plugin/vertx-plugins/vertx-core-3.x-plugin/src/main/java/org/apache/skywalking/apm/plugin/vertx3/HttpClientRequestImplEndInterceptor.java index 55a75f39a..229468ed4 100644 --- a/apm-sniffer/apm-sdk-plugin/vertx-plugins/vertx-core-3.x-plugin/src/main/java/org/apache/skywalking/apm/plugin/vertx3/HttpClientRequestImplEndInterceptor.java +++ b/apm-sniffer/apm-sdk-plugin/vertx-plugins/vertx-core-3.x-plugin/src/main/java/org/apache/skywalking/apm/plugin/vertx3/HttpClientRequestImplEndInterceptor.java @@ -86,8 +86,9 @@ public class HttpClientRequestImplEndInterceptor implements InstanceMethodsAroun } private static String toPath(String uri) { - if (uri.contains("?")) { - return uri.substring(0, uri.indexOf("?")); + int index = uri.indexOf("?"); + if (index > -1) { + return uri.substring(0, index); } else { return uri; } diff --git a/apm-sniffer/apm-sdk-plugin/vertx-plugins/vertx-core-3.x-plugin/src/main/java/org/apache/skywalking/apm/plugin/vertx3/RouterImplAcceptInterceptor.java b/apm-sniffer/apm-sdk-plugin/vertx-plugins/vertx-core-3.x-plugin/src/main/java/org/apache/skywalking/apm/plugin/vertx3/RouterImplAcceptInterceptor.java index a534c30a3..f063a6a7c 100644 --- a/apm-sniffer/apm-sdk-plugin/vertx-plugins/vertx-core-3.x-plugin/src/main/java/org/apache/skywalking/apm/plugin/vertx3/RouterImplAcceptInterceptor.java +++ b/apm-sniffer/apm-sdk-plugin/vertx-plugins/vertx-core-3.x-plugin/src/main/java/org/apache/skywalking/apm/plugin/vertx3/RouterImplAcceptInterceptor.java @@ -73,8 +73,9 @@ public class RouterImplAcceptInterceptor implements InstanceMethodsAroundInterce } private static String toPath(String uri) { - if (uri.contains("?")) { - return uri.substring(0, uri.indexOf("?")); + int index = uri.indexOf("?"); + if (index > -1) { + return uri.substring(0, index); } else { return uri; }