diff --git a/dd-java-agent/instrumentation/vertx-web-3.4/src/main/java/datadog/trace/instrumentation/vertx_3_4/server/EndHandlerWrapper.java b/dd-java-agent/instrumentation/vertx-web-3.4/src/main/java/datadog/trace/instrumentation/vertx_3_4/server/EndHandlerWrapper.java index 2cda8919d2b..22b0e5b4fb4 100644 --- a/dd-java-agent/instrumentation/vertx-web-3.4/src/main/java/datadog/trace/instrumentation/vertx_3_4/server/EndHandlerWrapper.java +++ b/dd-java-agent/instrumentation/vertx-web-3.4/src/main/java/datadog/trace/instrumentation/vertx_3_4/server/EndHandlerWrapper.java @@ -7,6 +7,7 @@ import static datadog.trace.instrumentation.vertx_3_4.server.VertxDecorator.DECORATE; import datadog.trace.bootstrap.instrumentation.api.AgentSpan; +import datadog.trace.bootstrap.instrumentation.api.Tags; import io.vertx.core.Handler; import io.vertx.ext.web.RoutingContext; @@ -29,7 +30,10 @@ public void handle(final Void event) { actual.handle(event); } } finally { - if (path != null && parentSpan != null) { + if (path != null + && parentSpan != null + // do not override route with a "/" if it's already set (it's probably more meaningful) + && !(path.equals("/") && parentSpan.getTag(Tags.HTTP_ROUTE) != null)) { HTTP_RESOURCE_DECORATOR.withRoute( parentSpan, routingContext.request().rawMethod(), path, true); } diff --git a/dd-java-agent/instrumentation/vertx-web-4.0/src/main/java/datadog/trace/instrumentation/vertx_4_0/server/EndHandlerWrapper.java b/dd-java-agent/instrumentation/vertx-web-4.0/src/main/java/datadog/trace/instrumentation/vertx_4_0/server/EndHandlerWrapper.java index 35d37733831..b4e35ce9070 100644 --- a/dd-java-agent/instrumentation/vertx-web-4.0/src/main/java/datadog/trace/instrumentation/vertx_4_0/server/EndHandlerWrapper.java +++ b/dd-java-agent/instrumentation/vertx-web-4.0/src/main/java/datadog/trace/instrumentation/vertx_4_0/server/EndHandlerWrapper.java @@ -7,6 +7,7 @@ import static datadog.trace.instrumentation.vertx_4_0.server.VertxDecorator.DECORATE; import datadog.trace.bootstrap.instrumentation.api.AgentSpan; +import datadog.trace.bootstrap.instrumentation.api.Tags; import io.vertx.core.Handler; import io.vertx.ext.web.RoutingContext; @@ -29,7 +30,10 @@ public void handle(final Void event) { actual.handle(event); } } finally { - if (path != null && parentSpan != null) { + if (path != null + && parentSpan != null + // do not override route with a "/" if it's already set (it's probably more meaningful) + && !(path.equals("/") && parentSpan.getTag(Tags.HTTP_ROUTE) != null)) { HTTP_RESOURCE_DECORATOR.withRoute( parentSpan, routingContext.request().method().name(), path, true); }