Skip to content

Commit a4ebb07

Browse files
authored
make hikaricp indy-ready (#15075)
1 parent 754f403 commit a4ebb07

File tree

2 files changed

+14
-4
lines changed

2 files changed

+14
-4
lines changed

instrumentation/hikaricp-3.0/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/hikaricp/v3_0/HikariCpInstrumentationModule.java

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,10 +10,12 @@
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;
1314
import java.util.List;
1415

1516
@AutoService(InstrumentationModule.class)
16-
public class HikariCpInstrumentationModule extends InstrumentationModule {
17+
public class HikariCpInstrumentationModule extends InstrumentationModule
18+
implements ExperimentalInstrumentationModule {
1719

1820
public HikariCpInstrumentationModule() {
1921
super("hikaricp", "hikaricp-3.0");
@@ -23,4 +25,9 @@ public HikariCpInstrumentationModule() {
2325
public List<TypeInstrumentation> typeInstrumentations() {
2426
return singletonList(new HikariPoolInstrumentation());
2527
}
28+
29+
@Override
30+
public boolean isIndyReady() {
31+
return true;
32+
}
2633
}

instrumentation/hikaricp-3.0/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/hikaricp/v3_0/HikariPoolInstrumentation.java

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,8 @@
1313
import io.opentelemetry.javaagent.extension.instrumentation.TypeInstrumentation;
1414
import io.opentelemetry.javaagent.extension.instrumentation.TypeTransformer;
1515
import net.bytebuddy.asm.Advice;
16+
import net.bytebuddy.asm.Advice.AssignReturned;
17+
import net.bytebuddy.asm.Advice.AssignReturned.ToArguments.ToArgument;
1618
import net.bytebuddy.description.type.TypeDescription;
1719
import net.bytebuddy.matcher.ElementMatcher;
1820

@@ -37,9 +39,10 @@ public void transform(TypeTransformer transformer) {
3739
@SuppressWarnings("unused")
3840
public static class SetMetricsTrackerFactoryAdvice {
3941

42+
@AssignReturned.ToArguments(@ToArgument(0))
4043
@Advice.OnMethodEnter(suppress = Throwable.class)
41-
public static void onEnter(
42-
@Advice.Argument(value = 0, readOnly = false) MetricsTrackerFactory userMetricsTracker,
44+
public static MetricsTrackerFactory onEnter(
45+
@Advice.Argument(0) MetricsTrackerFactory userMetricsTracker,
4346
@Advice.FieldValue("metricsTracker") AutoCloseable existingMetricsTracker)
4447
throws Exception {
4548

@@ -49,7 +52,7 @@ public static void onEnter(
4952
// about duplicate metrics
5053
existingMetricsTracker.close();
5154
}
52-
userMetricsTracker = HikariSingletons.createMetricsTrackerFactory(userMetricsTracker);
55+
return HikariSingletons.createMetricsTrackerFactory(userMetricsTracker);
5356
}
5457
}
5558
}

0 commit comments

Comments
 (0)