Skip to content

Commit 26e79f9

Browse files
committed
inject proxies for indy
1 parent c911faa commit 26e79f9

File tree

1 file changed

+19
-1
lines changed

1 file changed

+19
-1
lines changed

instrumentation/internal/internal-lambda/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/internal/lambda/LambdaInstrumentationModule.java

Lines changed: 19 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,13 +10,17 @@
1010
import com.google.auto.service.AutoService;
1111
import io.opentelemetry.javaagent.extension.instrumentation.InstrumentationModule;
1212
import io.opentelemetry.javaagent.extension.instrumentation.TypeInstrumentation;
13+
import io.opentelemetry.javaagent.extension.instrumentation.internal.ExperimentalInstrumentationModule;
14+
import io.opentelemetry.javaagent.extension.instrumentation.internal.injection.ClassInjector;
15+
import io.opentelemetry.javaagent.extension.instrumentation.internal.injection.InjectionMode;
1316
import io.opentelemetry.sdk.autoconfigure.spi.ConfigProperties;
1417
import java.util.ArrayList;
1518
import java.util.List;
1619
import net.bytebuddy.utility.JavaModule;
1720

1821
@AutoService(InstrumentationModule.class)
19-
public class LambdaInstrumentationModule extends InstrumentationModule {
22+
public class LambdaInstrumentationModule extends InstrumentationModule
23+
implements ExperimentalInstrumentationModule {
2024
public LambdaInstrumentationModule() {
2125
super("internal-lambda");
2226
}
@@ -27,6 +31,20 @@ public boolean defaultEnabled(ConfigProperties config) {
2731
return true;
2832
}
2933

34+
@Override
35+
public void injectClasses(ClassInjector injector) {
36+
injector
37+
.proxyBuilder(
38+
"io.opentelemetry.javaagent.instrumentation.internal.lambda.LambdaTransformer")
39+
.inject(InjectionMode.CLASS_ONLY);
40+
if (JavaModule.isSupported()) {
41+
injector
42+
.proxyBuilder(
43+
"io.opentelemetry.javaagent.instrumentation.internal.lambda.Java9LambdaTransformer")
44+
.inject(InjectionMode.CLASS_ONLY);
45+
}
46+
}
47+
3048
@Override
3149
public List<String> getAdditionalHelperClassNames() {
3250
// this instrumentation uses ASM not ByteBuddy so muzzle doesn't automatically add helper

0 commit comments

Comments
 (0)