diff --git a/dd-java-agent/agent-tooling/src/main/java/datadog/trace/agent/tooling/AgentInstaller.java b/dd-java-agent/agent-tooling/src/main/java/datadog/trace/agent/tooling/AgentInstaller.java index dfc7f860c9..ef920a0518 100644 --- a/dd-java-agent/agent-tooling/src/main/java/datadog/trace/agent/tooling/AgentInstaller.java +++ b/dd-java-agent/agent-tooling/src/main/java/datadog/trace/agent/tooling/AgentInstaller.java @@ -138,8 +138,13 @@ public class AgentInstaller { int numInstrumenters = 0; for (final Instrumenter instrumenter : ServiceLoader.load(Instrumenter.class)) { log.debug("Loading instrumentation {}", instrumenter.getClass().getName()); - agentBuilder = instrumenter.instrument(agentBuilder); - numInstrumenters++; + + try { + agentBuilder = instrumenter.instrument(agentBuilder); + numInstrumenters++; + } catch (final Throwable e) { + log.error("Unable to load instrumentation {}", instrumenter.getClass().getName(), e); + } } log.debug("Installed {} instrumenter(s)", numInstrumenters);