Skip to content

Commit cbdb726

Browse files
committed
Added indy support to AWS instrumentation
1 parent e7c2654 commit cbdb726

File tree

2 files changed

+17
-5
lines changed

2 files changed

+17
-5
lines changed

instrumentation/aws-sdk/aws-sdk-2.2/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/awssdk/v2_2/AbstractAwsSdkInstrumentationModule.java

+7-5
Original file line numberDiff line numberDiff line change
@@ -12,24 +12,26 @@
1212
import io.opentelemetry.javaagent.extension.instrumentation.InstrumentationModule;
1313
import io.opentelemetry.javaagent.extension.instrumentation.TypeInstrumentation;
1414
import io.opentelemetry.javaagent.extension.instrumentation.TypeTransformer;
15+
import io.opentelemetry.javaagent.extension.instrumentation.internal.ExperimentalInstrumentationModule;
1516
import java.util.List;
1617
import net.bytebuddy.description.type.TypeDescription;
1718
import net.bytebuddy.matcher.ElementMatcher;
1819

19-
abstract class AbstractAwsSdkInstrumentationModule extends InstrumentationModule {
20+
abstract class AbstractAwsSdkInstrumentationModule extends InstrumentationModule
21+
implements ExperimentalInstrumentationModule {
2022

2123
protected AbstractAwsSdkInstrumentationModule(String additionalInstrumentationName) {
2224
super("aws-sdk", "aws-sdk-2.2", additionalInstrumentationName);
2325
}
2426

2527
@Override
26-
public boolean isHelperClass(String className) {
27-
return className.startsWith("io.opentelemetry.contrib.awsxray.");
28+
public String getModuleGroup() {
29+
return "aws-sdk-v2";
2830
}
2931

3032
@Override
31-
public boolean isIndyModule() {
32-
return false;
33+
public boolean isHelperClass(String className) {
34+
return className.startsWith("io.opentelemetry.contrib.awsxray.");
3335
}
3436

3537
@Override

instrumentation/aws-sdk/aws-sdk-2.2/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/awssdk/v2_2/AwsSdkInstrumentationModule.java

+10
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,8 @@
1010
import io.opentelemetry.javaagent.extension.instrumentation.HelperResourceBuilder;
1111
import io.opentelemetry.javaagent.extension.instrumentation.InstrumentationModule;
1212
import io.opentelemetry.javaagent.extension.instrumentation.TypeTransformer;
13+
import io.opentelemetry.javaagent.extension.instrumentation.internal.injection.ClassInjector;
14+
import io.opentelemetry.javaagent.extension.instrumentation.internal.injection.InjectionMode;
1315

1416
@AutoService(InstrumentationModule.class)
1517
public class AwsSdkInstrumentationModule extends AbstractAwsSdkInstrumentationModule {
@@ -26,6 +28,14 @@ public void registerHelperResources(HelperResourceBuilder helperResourceBuilder)
2628
helperResourceBuilder.register("software/amazon/awssdk/global/handlers/execution.interceptors");
2729
}
2830

31+
@Override
32+
public void injectClasses(ClassInjector injector) {
33+
injector
34+
.proxyBuilder(
35+
"io.opentelemetry.instrumentation.awssdk.v2_2.autoconfigure.TracingExecutionInterceptor")
36+
.inject(InjectionMode.CLASS_ONLY);
37+
}
38+
2939
@Override
3040
void doTransform(TypeTransformer transformer) {
3141
// Nothing to transform, this type instrumentation is only used for injecting resources.

0 commit comments

Comments
 (0)