diff --git a/dd-java-agent/instrumentation/jsp-2.3/src/main/java/datadog/trace/instrumentation/jsp/JSPDecorator.java b/dd-java-agent/instrumentation/jsp-2.3/src/main/java/datadog/trace/instrumentation/jsp/JSPDecorator.java new file mode 100644 index 0000000000..528b094fa8 --- /dev/null +++ b/dd-java-agent/instrumentation/jsp-2.3/src/main/java/datadog/trace/instrumentation/jsp/JSPDecorator.java @@ -0,0 +1,76 @@ +package datadog.trace.instrumentation.jsp; + +import datadog.trace.agent.decorator.BaseDecorator; +import datadog.trace.api.DDTags; +import io.opentracing.Scope; +import io.opentracing.Span; +import java.net.URI; +import java.net.URISyntaxException; +import javax.servlet.RequestDispatcher; +import javax.servlet.http.HttpServletRequest; +import javax.servlet.jsp.HttpJspPage; +import org.apache.jasper.JspCompilationContext; +import org.slf4j.LoggerFactory; + +public class JSPDecorator extends BaseDecorator { + public static JSPDecorator DECORATE = new JSPDecorator(); + + @Override + protected String[] instrumentationNames() { + return new String[] {"jsp"}; + } + + @Override + protected String spanType() { + return null; + } + + @Override + protected String component() { + return "jsp-http-servlet"; + } + + public void onCompile(final Scope scope, final JspCompilationContext jspCompilationContext) { + if (jspCompilationContext != null) { + final Span span = scope.span(); + span.setTag(DDTags.RESOURCE_NAME, jspCompilationContext.getJspFile()); + + if (jspCompilationContext.getServletContext() != null) { + span.setTag("servlet.context", jspCompilationContext.getServletContext().getContextPath()); + } + + if (jspCompilationContext.getCompiler() != null) { + span.setTag("jsp.compiler", jspCompilationContext.getCompiler().getClass().getName()); + } + span.setTag("jsp.classFQCN", jspCompilationContext.getFQCN()); + } + } + + public void onRender(final Scope scope, final HttpServletRequest req) { + final Span span = scope.span(); + // get the JSP file name being rendered in an include action + final Object includeServletPath = req.getAttribute(RequestDispatcher.INCLUDE_SERVLET_PATH); + String resourceName = req.getServletPath(); + if (includeServletPath instanceof String) { + resourceName = includeServletPath.toString(); + } + span.setTag(DDTags.RESOURCE_NAME, resourceName); + + final Object forwardOrigin = req.getAttribute(RequestDispatcher.FORWARD_SERVLET_PATH); + if (forwardOrigin instanceof String) { + span.setTag("jsp.forwardOrigin", forwardOrigin.toString()); + } + + // add the request URL as a tag to provide better context when looking at spans produced by + // actions. Tomcat 9 has relative path symbols in the value returned from + // HttpServletRequest#getRequestURL(), + // normalizing the URL should remove those symbols for readability and consistency + try { + span.setTag( + "jsp.requestURL", (new URI(req.getRequestURL().toString())).normalize().toString()); + } catch (final URISyntaxException uriSE) { + LoggerFactory.getLogger(HttpJspPage.class) + .warn("Failed to get and normalize request URL: " + uriSE.getMessage()); + } + } +} diff --git a/dd-java-agent/instrumentation/jsp-2.3/src/main/java/datadog/trace/instrumentation/jsp/JSPInstrumentation.java b/dd-java-agent/instrumentation/jsp-2.3/src/main/java/datadog/trace/instrumentation/jsp/JSPInstrumentation.java index af8971f03b..9657ecd1cb 100644 --- a/dd-java-agent/instrumentation/jsp-2.3/src/main/java/datadog/trace/instrumentation/jsp/JSPInstrumentation.java +++ b/dd-java-agent/instrumentation/jsp-2.3/src/main/java/datadog/trace/instrumentation/jsp/JSPInstrumentation.java @@ -1,7 +1,7 @@ package datadog.trace.instrumentation.jsp; import static datadog.trace.agent.tooling.ByteBuddyElementMatchers.safeHasSuperType; -import static io.opentracing.log.Fields.ERROR_OBJECT; +import static datadog.trace.instrumentation.jsp.JSPDecorator.DECORATE; import static java.util.Collections.singletonMap; import static net.bytebuddy.matcher.ElementMatchers.isInterface; import static net.bytebuddy.matcher.ElementMatchers.isPublic; @@ -11,25 +11,14 @@ import static net.bytebuddy.matcher.ElementMatchers.takesArgument; import com.google.auto.service.AutoService; import datadog.trace.agent.tooling.Instrumenter; -import datadog.trace.api.DDSpanTypes; -import datadog.trace.api.DDTags; import io.opentracing.Scope; -import io.opentracing.Span; -import io.opentracing.tag.Tags; import io.opentracing.util.GlobalTracer; -import java.net.URI; -import java.net.URISyntaxException; -import java.util.Collections; import java.util.Map; -import javax.servlet.RequestDispatcher; import javax.servlet.http.HttpServletRequest; -import javax.servlet.http.HttpServletResponse; -import javax.servlet.jsp.HttpJspPage; import net.bytebuddy.asm.Advice; import net.bytebuddy.description.method.MethodDescription; import net.bytebuddy.description.type.TypeDescription; import net.bytebuddy.matcher.ElementMatcher; -import org.slf4j.LoggerFactory; @AutoService(Instrumenter.class) public final class JSPInstrumentation extends Instrumenter.Default { @@ -43,6 +32,13 @@ public final class JSPInstrumentation extends Instrumenter.Default { return not(isInterface()).and(safeHasSuperType(named("javax.servlet.jsp.HttpJspPage"))); } + @Override + public String[] helperClassNames() { + return new String[] { + "datadog.trace.agent.decorator.BaseDecorator", packageName + ".JSPDecorator", + }; + } + @Override public Map, String> transformers() { return singletonMap( @@ -61,54 +57,19 @@ public final class JSPInstrumentation extends Instrumenter.Default { final Scope scope = GlobalTracer.get() .buildSpan("jsp.render") - .withTag(Tags.SPAN_KIND.getKey(), Tags.SPAN_KIND_SERVER) - .withTag(DDTags.SPAN_TYPE, DDSpanTypes.HTTP_SERVER) .withTag("span.origin.type", obj.getClass().getSimpleName()) .withTag("servlet.context", req.getContextPath()) .startActive(true); - - final Span span = scope.span(); - // get the JSP file name being rendered in an include action - final Object includeServletPath = req.getAttribute(RequestDispatcher.INCLUDE_SERVLET_PATH); - String resourceName = req.getServletPath(); - if (includeServletPath instanceof String) { - resourceName = includeServletPath.toString(); - } - span.setTag(DDTags.RESOURCE_NAME, resourceName); - - final Object forwardOrigin = req.getAttribute(RequestDispatcher.FORWARD_SERVLET_PATH); - if (forwardOrigin instanceof String) { - span.setTag("jsp.forwardOrigin", forwardOrigin.toString()); - } - - // add the request URL as a tag to provide better context when looking at spans produced by - // actions. Tomcat 9 has relative path symbols in the value returned from - // HttpServletRequest#getRequestURL(), - // normalizing the URL should remove those symbols for readability and consistency - try { - span.setTag( - "jsp.requestURL", (new URI(req.getRequestURL().toString())).normalize().toString()); - } catch (final URISyntaxException uriSE) { - LoggerFactory.getLogger(HttpJspPage.class) - .warn("Failed to get and normalize request URL: " + uriSE.getMessage()); - } - - Tags.COMPONENT.set(span, "jsp-http-servlet"); - + DECORATE.afterStart(scope); + DECORATE.onRender(scope, req); return scope; } @Advice.OnMethodExit(onThrowable = Throwable.class, suppress = Throwable.class) public static void stopSpan( - @Advice.Argument(1) final HttpServletResponse resp, - @Advice.Enter final Scope scope, - @Advice.Thrown final Throwable throwable) { - - final Span span = scope.span(); - if (throwable != null) { - Tags.ERROR.set(span, Boolean.TRUE); - span.log(Collections.singletonMap(ERROR_OBJECT, throwable)); - } + @Advice.Enter final Scope scope, @Advice.Thrown final Throwable throwable) { + DECORATE.onError(scope, throwable); + DECORATE.beforeFinish(scope); scope.close(); } } diff --git a/dd-java-agent/instrumentation/jsp-2.3/src/main/java/datadog/trace/instrumentation/jsp/JasperJSPCompilationContextInstrumentation.java b/dd-java-agent/instrumentation/jsp-2.3/src/main/java/datadog/trace/instrumentation/jsp/JasperJSPCompilationContextInstrumentation.java index 271673544e..965975f063 100644 --- a/dd-java-agent/instrumentation/jsp-2.3/src/main/java/datadog/trace/instrumentation/jsp/JasperJSPCompilationContextInstrumentation.java +++ b/dd-java-agent/instrumentation/jsp-2.3/src/main/java/datadog/trace/instrumentation/jsp/JasperJSPCompilationContextInstrumentation.java @@ -1,6 +1,6 @@ package datadog.trace.instrumentation.jsp; -import static io.opentracing.log.Fields.ERROR_OBJECT; +import static datadog.trace.instrumentation.jsp.JSPDecorator.DECORATE; import static java.util.Collections.singletonMap; import static net.bytebuddy.matcher.ElementMatchers.isPublic; import static net.bytebuddy.matcher.ElementMatchers.named; @@ -8,13 +8,8 @@ import static net.bytebuddy.matcher.ElementMatchers.takesArguments; import com.google.auto.service.AutoService; import datadog.trace.agent.tooling.Instrumenter; -import datadog.trace.api.DDSpanTypes; -import datadog.trace.api.DDTags; import io.opentracing.Scope; -import io.opentracing.Span; -import io.opentracing.tag.Tags; import io.opentracing.util.GlobalTracer; -import java.util.Collections; import java.util.Map; import net.bytebuddy.asm.Advice; import net.bytebuddy.description.method.MethodDescription; @@ -34,6 +29,13 @@ public final class JasperJSPCompilationContextInstrumentation extends Instrument return named("org.apache.jasper.JspCompilationContext"); } + @Override + public String[] helperClassNames() { + return new String[] { + "datadog.trace.agent.decorator.BaseDecorator", packageName + ".JSPDecorator", + }; + } + @Override public Map, String> transformers() { return singletonMap( @@ -44,21 +46,9 @@ public final class JasperJSPCompilationContextInstrumentation extends Instrument public static class JasperJspCompilationContext { @Advice.OnMethodEnter(suppress = Throwable.class) - public static Scope startSpan(@Advice.This final JspCompilationContext jspCompilationContext) { - - final Scope scope = - GlobalTracer.get() - .buildSpan("jsp.compile") - .withTag(Tags.SPAN_KIND.getKey(), Tags.SPAN_KIND_SERVER) - .withTag(DDTags.SPAN_TYPE, DDSpanTypes.HTTP_SERVER) - .startActive(true); - - final Span span = scope.span(); - if (jspCompilationContext.getServletContext() != null) { - span.setTag("servlet.context", jspCompilationContext.getServletContext().getContextPath()); - } - span.setTag(DDTags.RESOURCE_NAME, jspCompilationContext.getJspFile()); - Tags.COMPONENT.set(span, "jsp-http-servlet"); + public static Scope startSpan() { + final Scope scope = GlobalTracer.get().buildSpan("jsp.compile").startActive(true); + DECORATE.afterStart(scope); return scope; } @@ -67,23 +57,11 @@ public final class JasperJSPCompilationContextInstrumentation extends Instrument @Advice.This final JspCompilationContext jspCompilationContext, @Advice.Enter final Scope scope, @Advice.Thrown final Throwable throwable) { + DECORATE.onCompile(scope, jspCompilationContext); + // ^ Decorate on return because additional properties are available - final Span span = scope.span(); - if (jspCompilationContext != null) { - if (jspCompilationContext.getCompiler() != null) { - span.setTag("jsp.compiler", jspCompilationContext.getCompiler().getClass().getName()); - } - span.setTag("jsp.classFQCN", jspCompilationContext.getFQCN()); - if (throwable != null) { - span.setTag("jsp.javaFile", jspCompilationContext.getServletJavaFileName()); - span.setTag("jsp.classpath", jspCompilationContext.getClassPath()); - } - } - - if (throwable != null) { - Tags.ERROR.set(span, Boolean.TRUE); - span.log(Collections.singletonMap(ERROR_OBJECT, throwable)); - } + DECORATE.onError(scope, throwable); + DECORATE.beforeFinish(scope); scope.close(); } } diff --git a/dd-java-agent/instrumentation/jsp-2.3/src/test/groovy/JSPInstrumentationBasicTests.groovy b/dd-java-agent/instrumentation/jsp-2.3/src/test/groovy/JSPInstrumentationBasicTests.groovy index 9aaea963a8..ad498e3736 100644 --- a/dd-java-agent/instrumentation/jsp-2.3/src/test/groovy/JSPInstrumentationBasicTests.groovy +++ b/dd-java-agent/instrumentation/jsp-2.3/src/test/groovy/JSPInstrumentationBasicTests.groovy @@ -39,15 +39,12 @@ class JSPInstrumentationBasicTests extends AgentTestRunner { File baseDir @Shared String baseUrl - @Shared - String expectedJspClassFilesDir = "/work/Tomcat/localhost/$jspWebappContext/org/apache/jsp/" - + OkHttpClient client = OkHttpUtils.client() def setupSpec() { baseDir = Files.createTempDir() baseDir.deleteOnExit() - expectedJspClassFilesDir = baseDir.getCanonicalFile().getAbsolutePath() + expectedJspClassFilesDir port = PortUtils.randomOpenPort() @@ -113,10 +110,8 @@ class JSPInstrumentationBasicTests extends AgentTestRunner { serviceName jspWebappContext operationName "jsp.render" resourceName "/$jspFileName" - spanType DDSpanTypes.HTTP_SERVER errored false tags { - "span.kind" "server" "component" "jsp-http-servlet" "span.origin.type" jspClassName "servlet.context" "/$jspWebappContext" @@ -129,10 +124,8 @@ class JSPInstrumentationBasicTests extends AgentTestRunner { serviceName jspWebappContext operationName "jsp.compile" resourceName "/$jspFileName" - spanType DDSpanTypes.HTTP_SERVER errored false tags { - "span.kind" "server" "component" "jsp-http-servlet" "servlet.context" "/$jspWebappContext" "jsp.classFQCN" "org.apache.jsp.$jspClassNamePrefix$jspClassName" @@ -191,10 +184,8 @@ class JSPInstrumentationBasicTests extends AgentTestRunner { serviceName jspWebappContext operationName "jsp.render" resourceName "/getQuery.jsp" - spanType DDSpanTypes.HTTP_SERVER errored false tags { - "span.kind" "server" "component" "jsp-http-servlet" "span.origin.type" "getQuery_jsp" "servlet.context" "/$jspWebappContext" @@ -207,10 +198,8 @@ class JSPInstrumentationBasicTests extends AgentTestRunner { serviceName jspWebappContext operationName "jsp.compile" resourceName "/getQuery.jsp" - spanType DDSpanTypes.HTTP_SERVER errored false tags { - "span.kind" "server" "component" "jsp-http-servlet" "servlet.context" "/$jspWebappContext" "jsp.classFQCN" "org.apache.jsp.getQuery_jsp" @@ -266,10 +255,8 @@ class JSPInstrumentationBasicTests extends AgentTestRunner { serviceName jspWebappContext operationName "jsp.render" resourceName "/post.jsp" - spanType DDSpanTypes.HTTP_SERVER errored false tags { - "span.kind" "server" "component" "jsp-http-servlet" "span.origin.type" "post_jsp" "servlet.context" "/$jspWebappContext" @@ -282,10 +269,8 @@ class JSPInstrumentationBasicTests extends AgentTestRunner { serviceName jspWebappContext operationName "jsp.compile" resourceName "/post.jsp" - spanType DDSpanTypes.HTTP_SERVER errored false tags { - "span.kind" "server" "component" "jsp-http-servlet" "servlet.context" "/$jspWebappContext" "jsp.classFQCN" "org.apache.jsp.post_jsp" @@ -339,10 +324,8 @@ class JSPInstrumentationBasicTests extends AgentTestRunner { serviceName jspWebappContext operationName "jsp.render" resourceName "/$jspFileName" - spanType DDSpanTypes.HTTP_SERVER errored true tags { - "span.kind" "server" "component" "jsp-http-servlet" "span.origin.type" jspClassName "servlet.context" "/$jspWebappContext" @@ -363,10 +346,8 @@ class JSPInstrumentationBasicTests extends AgentTestRunner { serviceName jspWebappContext operationName "jsp.compile" resourceName "/$jspFileName" - spanType DDSpanTypes.HTTP_SERVER errored false tags { - "span.kind" "server" "component" "jsp-http-servlet" "servlet.context" "/$jspWebappContext" "jsp.classFQCN" "org.apache.jsp.$jspClassName" @@ -424,10 +405,8 @@ class JSPInstrumentationBasicTests extends AgentTestRunner { serviceName jspWebappContext operationName "jsp.render" resourceName "/includes/includeHtml.jsp" - spanType DDSpanTypes.HTTP_SERVER errored false tags { - "span.kind" "server" "component" "jsp-http-servlet" "span.origin.type" "includeHtml_jsp" "servlet.context" "/$jspWebappContext" @@ -440,10 +419,8 @@ class JSPInstrumentationBasicTests extends AgentTestRunner { serviceName jspWebappContext operationName "jsp.compile" resourceName "/includes/includeHtml.jsp" - spanType DDSpanTypes.HTTP_SERVER errored false tags { - "span.kind" "server" "component" "jsp-http-servlet" "servlet.context" "/$jspWebappContext" "jsp.classFQCN" "org.apache.jsp.includes.includeHtml_jsp" @@ -495,10 +472,8 @@ class JSPInstrumentationBasicTests extends AgentTestRunner { serviceName jspWebappContext operationName "jsp.render" resourceName "/includes/includeMulti.jsp" - spanType DDSpanTypes.HTTP_SERVER errored false tags { - "span.kind" "server" "component" "jsp-http-servlet" "span.origin.type" "includeMulti_jsp" "servlet.context" "/$jspWebappContext" @@ -511,10 +486,8 @@ class JSPInstrumentationBasicTests extends AgentTestRunner { serviceName jspWebappContext operationName "jsp.render" resourceName "/common/javaLoopH2.jsp" - spanType DDSpanTypes.HTTP_SERVER errored false tags { - "span.kind" "server" "component" "jsp-http-servlet" "span.origin.type" "javaLoopH2_jsp" "servlet.context" "/$jspWebappContext" @@ -527,10 +500,8 @@ class JSPInstrumentationBasicTests extends AgentTestRunner { serviceName jspWebappContext operationName "jsp.compile" resourceName "/common/javaLoopH2.jsp" - spanType DDSpanTypes.HTTP_SERVER errored false tags { - "span.kind" "server" "component" "jsp-http-servlet" "servlet.context" "/$jspWebappContext" "jsp.classFQCN" "org.apache.jsp.common.javaLoopH2_jsp" @@ -543,10 +514,8 @@ class JSPInstrumentationBasicTests extends AgentTestRunner { serviceName jspWebappContext operationName "jsp.render" resourceName "/common/javaLoopH2.jsp" - spanType DDSpanTypes.HTTP_SERVER errored false tags { - "span.kind" "server" "component" "jsp-http-servlet" "span.origin.type" "javaLoopH2_jsp" "servlet.context" "/$jspWebappContext" @@ -559,10 +528,8 @@ class JSPInstrumentationBasicTests extends AgentTestRunner { serviceName jspWebappContext operationName "jsp.compile" resourceName "/common/javaLoopH2.jsp" - spanType DDSpanTypes.HTTP_SERVER errored false tags { - "span.kind" "server" "component" "jsp-http-servlet" "servlet.context" "/$jspWebappContext" "jsp.classFQCN" "org.apache.jsp.common.javaLoopH2_jsp" @@ -575,10 +542,8 @@ class JSPInstrumentationBasicTests extends AgentTestRunner { serviceName jspWebappContext operationName "jsp.compile" resourceName "/includes/includeMulti.jsp" - spanType DDSpanTypes.HTTP_SERVER errored false tags { - "span.kind" "server" "component" "jsp-http-servlet" "servlet.context" "/$jspWebappContext" "jsp.classFQCN" "org.apache.jsp.includes.includeMulti_jsp" @@ -631,16 +596,12 @@ class JSPInstrumentationBasicTests extends AgentTestRunner { serviceName jspWebappContext operationName "jsp.compile" resourceName "/$jspFileName" - spanType DDSpanTypes.HTTP_SERVER errored true tags { - "span.kind" "server" "component" "jsp-http-servlet" "servlet.context" "/$jspWebappContext" "jsp.classFQCN" "org.apache.jsp.$jspClassNamePrefix$jspClassName" "jsp.compiler" "org.apache.jasper.compiler.JDTCompiler" - "jsp.javaFile" expectedJspClassFilesDir + jspClassNamePrefix.replace('.', '/') + jspClassName + ".java" - "jsp.classpath" String errorTags(JasperException, String) defaultTags() } diff --git a/dd-java-agent/instrumentation/jsp-2.3/src/test/groovy/JSPInstrumentationForwardTests.groovy b/dd-java-agent/instrumentation/jsp-2.3/src/test/groovy/JSPInstrumentationForwardTests.groovy index cf353fedb1..81a695d24c 100644 --- a/dd-java-agent/instrumentation/jsp-2.3/src/test/groovy/JSPInstrumentationForwardTests.groovy +++ b/dd-java-agent/instrumentation/jsp-2.3/src/test/groovy/JSPInstrumentationForwardTests.groovy @@ -37,15 +37,12 @@ class JSPInstrumentationForwardTests extends AgentTestRunner { File baseDir @Shared String baseUrl - @Shared - String expectedJspClassFilesDir = "/work/Tomcat/localhost/$jspWebappContext/org/apache/jsp/" OkHttpClient client = OkHttpUtils.client() def setupSpec() { baseDir = Files.createTempDir() baseDir.deleteOnExit() - expectedJspClassFilesDir = baseDir.getCanonicalFile().getAbsolutePath() + expectedJspClassFilesDir port = PortUtils.randomOpenPort() @@ -112,10 +109,8 @@ class JSPInstrumentationForwardTests extends AgentTestRunner { serviceName jspWebappContext operationName "jsp.render" resourceName "/$forwardFromFileName" - spanType DDSpanTypes.HTTP_SERVER errored false tags { - "span.kind" "server" "component" "jsp-http-servlet" "span.origin.type" jspForwardFromClassName "servlet.context" "/$jspWebappContext" @@ -128,10 +123,8 @@ class JSPInstrumentationForwardTests extends AgentTestRunner { serviceName jspWebappContext operationName "jsp.render" resourceName "/$forwardDestFileName" - spanType DDSpanTypes.HTTP_SERVER errored false tags { - "span.kind" "server" "component" "jsp-http-servlet" "span.origin.type" jspForwardDestClassName "servlet.context" "/$jspWebappContext" @@ -145,10 +138,8 @@ class JSPInstrumentationForwardTests extends AgentTestRunner { serviceName jspWebappContext operationName "jsp.compile" resourceName "/$forwardDestFileName" - spanType DDSpanTypes.HTTP_SERVER errored false tags { - "span.kind" "server" "component" "jsp-http-servlet" "servlet.context" "/$jspWebappContext" "jsp.classFQCN" "org.apache.jsp.$jspForwardDestClassPrefix$jspForwardDestClassName" @@ -161,10 +152,8 @@ class JSPInstrumentationForwardTests extends AgentTestRunner { serviceName jspWebappContext operationName "jsp.compile" resourceName "/$forwardFromFileName" - spanType DDSpanTypes.HTTP_SERVER errored false tags { - "span.kind" "server" "component" "jsp-http-servlet" "servlet.context" "/$jspWebappContext" "jsp.classFQCN" "org.apache.jsp.$jspForwardFromClassPrefix$jspForwardFromClassName" @@ -221,10 +210,8 @@ class JSPInstrumentationForwardTests extends AgentTestRunner { serviceName jspWebappContext operationName "jsp.render" resourceName "/forwards/forwardToHtml.jsp" - spanType DDSpanTypes.HTTP_SERVER errored false tags { - "span.kind" "server" "component" "jsp-http-servlet" "span.origin.type" "forwardToHtml_jsp" "servlet.context" "/$jspWebappContext" @@ -237,10 +224,8 @@ class JSPInstrumentationForwardTests extends AgentTestRunner { serviceName jspWebappContext operationName "jsp.compile" resourceName "/forwards/forwardToHtml.jsp" - spanType DDSpanTypes.HTTP_SERVER errored false tags { - "span.kind" "server" "component" "jsp-http-servlet" "servlet.context" "/$jspWebappContext" "jsp.classFQCN" "org.apache.jsp.forwards.forwardToHtml_jsp" @@ -292,10 +277,8 @@ class JSPInstrumentationForwardTests extends AgentTestRunner { serviceName jspWebappContext operationName "jsp.render" resourceName "/forwards/forwardToIncludeMulti.jsp" - spanType DDSpanTypes.HTTP_SERVER errored false tags { - "span.kind" "server" "component" "jsp-http-servlet" "span.origin.type" "forwardToIncludeMulti_jsp" "servlet.context" "/$jspWebappContext" @@ -308,10 +291,8 @@ class JSPInstrumentationForwardTests extends AgentTestRunner { serviceName jspWebappContext operationName "jsp.render" resourceName "/includes/includeMulti.jsp" - spanType DDSpanTypes.HTTP_SERVER errored false tags { - "span.kind" "server" "component" "jsp-http-servlet" "span.origin.type" "includeMulti_jsp" "servlet.context" "/$jspWebappContext" @@ -325,10 +306,8 @@ class JSPInstrumentationForwardTests extends AgentTestRunner { serviceName jspWebappContext operationName "jsp.render" resourceName "/common/javaLoopH2.jsp" - spanType DDSpanTypes.HTTP_SERVER errored false tags { - "span.kind" "server" "component" "jsp-http-servlet" "span.origin.type" "javaLoopH2_jsp" "servlet.context" "/$jspWebappContext" @@ -342,10 +321,8 @@ class JSPInstrumentationForwardTests extends AgentTestRunner { serviceName jspWebappContext operationName "jsp.compile" resourceName "/common/javaLoopH2.jsp" - spanType DDSpanTypes.HTTP_SERVER errored false tags { - "span.kind" "server" "component" "jsp-http-servlet" "servlet.context" "/$jspWebappContext" "jsp.classFQCN" "org.apache.jsp.common.javaLoopH2_jsp" @@ -358,10 +335,8 @@ class JSPInstrumentationForwardTests extends AgentTestRunner { serviceName jspWebappContext operationName "jsp.render" resourceName "/common/javaLoopH2.jsp" - spanType DDSpanTypes.HTTP_SERVER errored false tags { - "span.kind" "server" "component" "jsp-http-servlet" "span.origin.type" "javaLoopH2_jsp" "servlet.context" "/$jspWebappContext" @@ -375,10 +350,8 @@ class JSPInstrumentationForwardTests extends AgentTestRunner { serviceName jspWebappContext operationName "jsp.compile" resourceName "/common/javaLoopH2.jsp" - spanType DDSpanTypes.HTTP_SERVER errored false tags { - "span.kind" "server" "component" "jsp-http-servlet" "servlet.context" "/$jspWebappContext" "jsp.classFQCN" "org.apache.jsp.common.javaLoopH2_jsp" @@ -391,10 +364,8 @@ class JSPInstrumentationForwardTests extends AgentTestRunner { serviceName jspWebappContext operationName "jsp.compile" resourceName "/includes/includeMulti.jsp" - spanType DDSpanTypes.HTTP_SERVER errored false tags { - "span.kind" "server" "component" "jsp-http-servlet" "servlet.context" "/$jspWebappContext" "jsp.classFQCN" "org.apache.jsp.includes.includeMulti_jsp" @@ -407,10 +378,8 @@ class JSPInstrumentationForwardTests extends AgentTestRunner { serviceName jspWebappContext operationName "jsp.compile" resourceName "/forwards/forwardToIncludeMulti.jsp" - spanType DDSpanTypes.HTTP_SERVER errored false tags { - "span.kind" "server" "component" "jsp-http-servlet" "servlet.context" "/$jspWebappContext" "jsp.classFQCN" "org.apache.jsp.forwards.forwardToIncludeMulti_jsp" @@ -462,10 +431,8 @@ class JSPInstrumentationForwardTests extends AgentTestRunner { serviceName jspWebappContext operationName "jsp.render" resourceName "/forwards/forwardToJspForward.jsp" - spanType DDSpanTypes.HTTP_SERVER errored false tags { - "span.kind" "server" "component" "jsp-http-servlet" "span.origin.type" "forwardToJspForward_jsp" "servlet.context" "/$jspWebappContext" @@ -478,10 +445,8 @@ class JSPInstrumentationForwardTests extends AgentTestRunner { serviceName jspWebappContext operationName "jsp.render" resourceName "/forwards/forwardToSimpleJava.jsp" - spanType DDSpanTypes.HTTP_SERVER errored false tags { - "span.kind" "server" "component" "jsp-http-servlet" "span.origin.type" "forwardToSimpleJava_jsp" "servlet.context" "/$jspWebappContext" @@ -495,10 +460,8 @@ class JSPInstrumentationForwardTests extends AgentTestRunner { serviceName jspWebappContext operationName "jsp.render" resourceName "/common/loop.jsp" - spanType DDSpanTypes.HTTP_SERVER errored false tags { - "span.kind" "server" "component" "jsp-http-servlet" "span.origin.type" "loop_jsp" "servlet.context" "/$jspWebappContext" @@ -512,10 +475,8 @@ class JSPInstrumentationForwardTests extends AgentTestRunner { serviceName jspWebappContext operationName "jsp.compile" resourceName "/common/loop.jsp" - spanType DDSpanTypes.HTTP_SERVER errored false tags { - "span.kind" "server" "component" "jsp-http-servlet" "servlet.context" "/$jspWebappContext" "jsp.classFQCN" "org.apache.jsp.common.loop_jsp" @@ -528,10 +489,8 @@ class JSPInstrumentationForwardTests extends AgentTestRunner { serviceName jspWebappContext operationName "jsp.compile" resourceName "/forwards/forwardToSimpleJava.jsp" - spanType DDSpanTypes.HTTP_SERVER errored false tags { - "span.kind" "server" "component" "jsp-http-servlet" "servlet.context" "/$jspWebappContext" "jsp.classFQCN" "org.apache.jsp.forwards.forwardToSimpleJava_jsp" @@ -544,10 +503,8 @@ class JSPInstrumentationForwardTests extends AgentTestRunner { serviceName jspWebappContext operationName "jsp.compile" resourceName "/forwards/forwardToJspForward.jsp" - spanType DDSpanTypes.HTTP_SERVER errored false tags { - "span.kind" "server" "component" "jsp-http-servlet" "servlet.context" "/$jspWebappContext" "jsp.classFQCN" "org.apache.jsp.forwards.forwardToJspForward_jsp" @@ -600,10 +557,8 @@ class JSPInstrumentationForwardTests extends AgentTestRunner { serviceName jspWebappContext operationName "jsp.render" resourceName "/forwards/forwardToCompileError.jsp" - spanType DDSpanTypes.HTTP_SERVER errored true tags { - "span.kind" "server" "component" "jsp-http-servlet" "span.origin.type" "forwardToCompileError_jsp" "servlet.context" "/$jspWebappContext" @@ -617,16 +572,12 @@ class JSPInstrumentationForwardTests extends AgentTestRunner { serviceName jspWebappContext operationName "jsp.compile" resourceName "/compileError.jsp" - spanType DDSpanTypes.HTTP_SERVER errored true tags { - "span.kind" "server" "component" "jsp-http-servlet" "servlet.context" "/$jspWebappContext" "jsp.classFQCN" "org.apache.jsp.compileError_jsp" "jsp.compiler" "org.apache.jasper.compiler.JDTCompiler" - "jsp.javaFile" expectedJspClassFilesDir + "compileError_jsp.java" - "jsp.classpath" String errorTags(JasperException, String) defaultTags() } @@ -636,10 +587,8 @@ class JSPInstrumentationForwardTests extends AgentTestRunner { serviceName jspWebappContext operationName "jsp.compile" resourceName "/forwards/forwardToCompileError.jsp" - spanType DDSpanTypes.HTTP_SERVER errored false tags { - "span.kind" "server" "component" "jsp-http-servlet" "servlet.context" "/$jspWebappContext" "jsp.classFQCN" "org.apache.jsp.forwards.forwardToCompileError_jsp" @@ -691,10 +640,8 @@ class JSPInstrumentationForwardTests extends AgentTestRunner { serviceName jspWebappContext operationName "jsp.render" resourceName "/forwards/forwardToNonExistent.jsp" - spanType DDSpanTypes.HTTP_SERVER errored false tags { - "span.kind" "server" "component" "jsp-http-servlet" "span.origin.type" "forwardToNonExistent_jsp" "servlet.context" "/$jspWebappContext" @@ -707,10 +654,8 @@ class JSPInstrumentationForwardTests extends AgentTestRunner { serviceName jspWebappContext operationName "jsp.compile" resourceName "/forwards/forwardToNonExistent.jsp" - spanType DDSpanTypes.HTTP_SERVER errored false tags { - "span.kind" "server" "component" "jsp-http-servlet" "servlet.context" "/$jspWebappContext" "jsp.classFQCN" "org.apache.jsp.forwards.forwardToNonExistent_jsp"