Merge pull request #270 from DataDog/ark/servlet2_helpers

Add missing helper to servlet2 helper injector
This commit is contained in:
Andrew Kent 2018-03-25 10:29:04 -07:00 committed by GitHub
commit d7d6f13f29
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 8 additions and 11 deletions

View File

@ -13,7 +13,6 @@ import static net.bytebuddy.matcher.ElementMatchers.takesArgument;
import com.google.auto.service.AutoService;
import datadog.trace.agent.tooling.DDAdvice;
import datadog.trace.agent.tooling.DDTransformers;
import datadog.trace.agent.tooling.HelperInjector;
import datadog.trace.agent.tooling.Instrumenter;
import datadog.trace.api.DDSpanTypes;
import datadog.trace.api.DDTags;
@ -49,11 +48,7 @@ public final class FilterChain2Instrumentation extends Instrumenter.Configurable
.and(
classLoaderHasClasses(
"javax.servlet.ServletContextEvent", "javax.servlet.ServletRequest")))
.transform(
new HelperInjector(
"io.opentracing.contrib.web.servlet.filter.HttpServletRequestExtractAdapter",
"io.opentracing.contrib.web.servlet.filter.HttpServletRequestExtractAdapter$MultivaluedMapFlatIterator",
"datadog.trace.instrumentation.servlet2.ServletFilterSpanDecorator"))
.transform(HttpServlet2Instrumentation.SERVLET2_HELPER_INJECTOR)
.transform(DDTransformers.defaultTransformers())
.transform(
DDAdvice.create()

View File

@ -35,6 +35,12 @@ import net.bytebuddy.asm.Advice;
@AutoService(Instrumenter.class)
public final class HttpServlet2Instrumentation extends Instrumenter.Configurable {
public static final String SERVLET_OPERATION_NAME = "servlet.request";
static final HelperInjector SERVLET2_HELPER_INJECTOR =
new HelperInjector(
"io.opentracing.contrib.web.servlet.filter.HttpServletRequestExtractAdapter",
"io.opentracing.contrib.web.servlet.filter.HttpServletRequestExtractAdapter$MultivaluedMapFlatIterator",
"datadog.trace.instrumentation.servlet2.ServletFilterSpanDecorator",
"datadog.trace.instrumentation.servlet2.ServletFilterSpanDecorator$1");
public HttpServlet2Instrumentation() {
super("servlet", "servlet-2");
@ -49,11 +55,7 @@ public final class HttpServlet2Instrumentation extends Instrumenter.Configurable
.and(
classLoaderHasClasses(
"javax.servlet.ServletContextEvent", "javax.servlet.FilterChain")))
.transform(
new HelperInjector(
"io.opentracing.contrib.web.servlet.filter.HttpServletRequestExtractAdapter",
"io.opentracing.contrib.web.servlet.filter.HttpServletRequestExtractAdapter$MultivaluedMapFlatIterator",
"datadog.trace.instrumentation.servlet2.ServletFilterSpanDecorator"))
.transform(SERVLET2_HELPER_INJECTOR)
.transform(DDTransformers.defaultTransformers())
.transform(
DDAdvice.create(false) // Can't use the error handler for pre 1.5 classes...