From fe84603740a504696c3aaabd945fc72b77637d3d Mon Sep 17 00:00:00 2001 From: Stuart McCulloch Date: Fri, 17 Oct 2025 12:29:13 +0100 Subject: [PATCH] Add quick 'datadog.' prefix check before applying delegation fix --- .../classloading/ClassloadingInstrumentation.java | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/dd-java-agent/instrumentation/classloading/src/main/java/datadog/trace/instrumentation/classloading/ClassloadingInstrumentation.java b/dd-java-agent/instrumentation/classloading/src/main/java/datadog/trace/instrumentation/classloading/ClassloadingInstrumentation.java index 15e0e626573..b337ce05d95 100644 --- a/dd-java-agent/instrumentation/classloading/src/main/java/datadog/trace/instrumentation/classloading/ClassloadingInstrumentation.java +++ b/dd-java-agent/instrumentation/classloading/src/main/java/datadog/trace/instrumentation/classloading/ClassloadingInstrumentation.java @@ -83,6 +83,10 @@ public void methodAdvice(MethodTransformer transformer) { public static class LoadClassAdvice { @Advice.OnMethodEnter(skipOn = Advice.OnNonDefaultValue.class, suppress = Throwable.class) public static Class onEnter(@Advice.Argument(0) final String name) { + if (!name.startsWith("datadog.")) { + return null; // ignore packages that won't be bundled on the dd-java-agent bootstrap + } + // we must access agent types used in the call-depth block like 'Constants' before entering it // - otherwise we risk loading these agent types with a non-zero call-depth, which will fail final String[] bootstrapPrefixes = Constants.BOOTSTRAP_PACKAGE_PREFIXES;