Commit 363b50a
authored
feat: Failing with the stacktrace when instrumentation post-processing fails. (#9639)
Before we had only that
```
org.gradle.api.tasks.TaskExecutionException: Execution failed for task ':dd-java-agent:instrumentation:caffeine:instrumentJava'.
at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.lambda$executeIfValid$1(ExecuteActionsTaskExecuter.java:130)
...
Caused by: org.gradle.workers.internal.DefaultWorkerExecutor$WorkExecutionException: A failure occurred while executing InstrumentAction
at org.gradle.workers.internal.DefaultWorkerExecutor$WorkItemExecution.waitForCompletion(DefaultWorkerExecutor.java:287)
...
Caused by: java.lang.IllegalStateException: Failed to transform at least one type: [class datadog.trace.instrumentation.caffeine.BoundedLocalCacheInstrumentation:[java.lang.RuntimeException: java.lang.reflect.InvocationTargetException]]
at ...
at InstrumentingPlugin$1.onError(InstrumentingPlugin.groovy:58)
at net.bytebuddy.build.Plugin$Engine$ErrorHandler$Compound.onError(Plugin.java:1455)
at net.bytebuddy.build.Plugin$Engine$Listener$ForErrorHandler.onError(Plugin.java:2035)
at net.bytebuddy.build.Plugin$Engine$Listener$Compound.onError(Plugin.java:2168)
```
Now we have the underlying failure as suppressed
```
Suppressed: java.lang.RuntimeException: java.lang.reflect.InvocationTargetException
at datadog.trace.agent.tooling.muzzle.MuzzleGenerator.wrap(MuzzleGenerator.java:69)
at net.bytebuddy.asm.AsmVisitorWrapper$Compound.wrap(AsmVisitorWrapper.java:746)
at net.bytebuddy.dynamic.scaffold.TypeWriter$Default$ForInlining$WithFullProcessing$RedefinitionClassVisitor.visit(TypeWriter.java:5027)
at net.bytebuddy.jar.asm.ClassReader.accept(ClassReader.java:570)
at net.bytebuddy.utility.AsmClassReader$ForAsm.accept(AsmClassReader.java:225)
at net.bytebuddy.dynamic.scaffold.TypeWriter$Default$ForInlining.create(TypeWriter.java:4034)
at net.bytebuddy.dynamic.scaffold.TypeWriter$Default.make(TypeWriter.java:2246)
at net.bytebuddy.dynamic.DynamicType$Builder$AbstractBase$UsingTypeWriter.make(DynamicType.java:4092)
at net.bytebuddy.build.Plugin$Engine$Default$Preprocessor$Resolved.call(Plugin.java:5331)
at net.bytebuddy.build.Plugin$Engine$Default$Preprocessor$Resolved.call(Plugin.java:5279)
at net.bytebuddy.build.Plugin$Engine$Dispatcher$ForSerialTransformation.accept(Plugin.java:4204)
at net.bytebuddy.build.Plugin$Engine$Default.apply(Plugin.java:5048)
at net.bytebuddy.build.Plugin$Engine$apply$3.call(Unknown Source)
at org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCall(CallSiteArray.java:47)
at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:125)
at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:157)
at InstrumentingPlugin.instrumentClasses(InstrumentingPlugin.groovy:53)
at InstrumentingPlugin$instrumentClasses.call(Unknown Source)
...
Caused by: java.lang.reflect.InvocationTargetException
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
at java.lang.reflect.Constructor.newInstance(Constructor.java:423)
at datadog.trace.agent.tooling.muzzle.MuzzleGenerator.wrap(MuzzleGenerator.java:67)
... 55 more
Caused by: java.lang.IllegalStateException: ConfigInversionMetricCollectorService has not been registered.
at datadog.trace.api.telemetry.ConfigInversionMetricCollectorProvider.get(ConfigInversionMetricCollectorProvider.java:10)
at datadog.trace.config.inversion.ConfigHelper.getEnvironmentVariable(ConfigHelper.java:126)
at datadog.trace.bootstrap.config.provider.EnvironmentConfigSource.get(EnvironmentConfigSource.java:12)
at datadog.trace.bootstrap.config.provider.ConfigProvider$Source.get(ConfigProvider.java:711)
at datadog.trace.bootstrap.config.provider.ConfigProvider.get(ConfigProvider.java:257)
at datadog.trace.bootstrap.config.provider.ConfigProvider.getBoolean(ConfigProvider.java:205)
at datadog.trace.api.InstrumenterConfig.isIntegrationEnabled(InstrumenterConfig.java:341)
at datadog.trace.agent.tooling.InstrumenterModule.<init>(InstrumenterModule.java:72)
at datadog.trace.agent.tooling.InstrumenterModule$Tracing.<init>(InstrumenterModule.java:207)
at datadog.trace.instrumentation.caffeine.BoundedLocalCacheInstrumentation.<init>(BoundedLocalCacheInstrumentation.java:19)
... 60 more
```1 parent 450f7b5 commit 363b50a
1 file changed
+13
-1
lines changed| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
49 | 49 | | |
50 | 50 | | |
51 | 51 | | |
52 | | - | |
| 52 | + | |
| 53 | + | |
| 54 | + | |
| 55 | + | |
| 56 | + | |
| 57 | + | |
| 58 | + | |
| 59 | + | |
| 60 | + | |
| 61 | + | |
| 62 | + | |
| 63 | + | |
| 64 | + | |
53 | 65 | | |
54 | 66 | | |
55 | 67 | | |
| |||
0 commit comments