Missing autoservice annotation processor
MODIFY
dd-java-agent/instrumentation/hystrix-1.4/hystrix-1.4.gradle
dd-java-agent/instrumentation/hystrix-1.4/hystrix-1.4.gradle
@@ -28,6 +28,8 @@ dependencies {
compile deps.bytebuddy
compile deps.opentracing
compile deps.autoservice
+ annotationProcessor deps.autoservice
+ implementation deps.autoservice
testCompile project(':dd-java-agent:testing')
testCompile project(':dd-java-agent:instrumentation:java-concurrent')

MODIFY
dd-java-agent/instrumentation/hystrix-1.4/src/test/groovy/HystrixTest.groovy
dd-java-agent/instrumentation/hystrix-1.4/src/test/groovy/HystrixTest.groovy
@@ -35,6 +35,8 @@ class HystrixTest extends AgentTestRunner {
operation(command)
}
expect:
+ TRANSFORMED_CLASSES.contains("com.netflix.hystrix.strategy.concurrency.HystrixContextScheduler\$ThreadPoolWorker")
+ TRANSFORMED_CLASSES.contains("HystrixTest\$1")
result == "Hello!"
assertTraces(TEST_WRITER, 1) {
@@ -106,6 +108,8 @@ class HystrixTest extends AgentTestRunner {
operation(command)
}
expect:
+ TRANSFORMED_CLASSES.contains("com.netflix.hystrix.strategy.concurrency.HystrixContextScheduler\$ThreadPoolWorker")
+ TRANSFORMED_CLASSES.contains("HystrixTest\$2")
result == "Fallback!"
assertTraces(TEST_WRITER, 1) {

MODIFY
dd-java-agent/testing/src/main/java/datadog/trace/agent/test/AgentTestRunner.java
dd-java-agent/testing/src/main/java/datadog/trace/agent/test/AgentTestRunner.java
@@ -2,6 +2,7 @@ package datadog.trace.agent.test;
import ch.qos.logback.classic.Level;
import ch.qos.logback.classic.Logger;
+import com.google.common.collect.Sets;
import datadog.opentracing.DDSpan;
import datadog.opentracing.DDTracer;
import datadog.trace.agent.tooling.AgentInstaller;
@@ -13,6 +14,7 @@ import java.lang.instrument.ClassFileTransformer;
import java.lang.instrument.Instrumentation;
import java.util.List;
import java.util.ServiceLoader;
+import java.util.Set;
import java.util.concurrent.Phaser;
import java.util.concurrent.atomic.AtomicInteger;
import net.bytebuddy.agent.ByteBuddyAgent;
@@ -58,6 +60,8 @@ public abstract class AgentTestRunner extends Specification {
// loads opentracing before bootstrap classpath is setup
// so we declare tracer as an object and cast when needed.
protected static final Object TEST_TRACER;
+
+ protected static final Set<String> TRANSFORMED_CLASSES = Sets.newConcurrentHashSet();
private static final AtomicInteger INSTRUMENTATION_ERROR_COUNT = new AtomicInteger();
private static final Instrumentation instrumentation;
@@ -144,7 +148,9 @@ public abstract class AgentTestRunner extends Specification {
final ClassLoader classLoader,
final JavaModule module,
final boolean loaded,
- final DynamicType dynamicType) {}
+ final DynamicType dynamicType) {
+ TRANSFORMED_CLASSES.add(typeDescription.getActualName());
+ }
@Override
public void onIgnored(

Missing autoservice annotation processor