Hikaricp: Avoid registering duplicate metrics (#6325)
* Hikaricp: Avoid registering duplicate metrics * Update instrumentation/hikaricp-3.0/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/hikaricp/HikariPoolInstrumentation.java Co-authored-by: Trask Stalnaker <trask.stalnaker@gmail.com> * spotless * Trigger build Co-authored-by: Trask Stalnaker <trask.stalnaker@gmail.com>
This commit is contained in:
parent
07f787693c
commit
b3e543d2df
|
@ -39,8 +39,16 @@ public class HikariPoolInstrumentation implements TypeInstrumentation {
|
|||
|
||||
@Advice.OnMethodEnter(suppress = Throwable.class)
|
||||
public static void onEnter(
|
||||
@Advice.Argument(value = 0, readOnly = false) MetricsTrackerFactory userMetricsTracker) {
|
||||
@Advice.Argument(value = 0, readOnly = false) MetricsTrackerFactory userMetricsTracker,
|
||||
@Advice.FieldValue(value = "metricsTracker") AutoCloseable existingMetricsTracker)
|
||||
throws Exception {
|
||||
|
||||
if (existingMetricsTracker != null) {
|
||||
// we call close on the existing metrics tracker in case it's our wrapper, so that our
|
||||
// wrapper will unregister itself and won't keep recording metrics which leads to warnings
|
||||
// about duplicate metrics
|
||||
existingMetricsTracker.close();
|
||||
}
|
||||
userMetricsTracker = HikariSingletons.createMetricsTrackerFactory(userMetricsTracker);
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue