Skip to content

Commit 0bcf08e

Browse files
committed
fix thread propagation on late scheduled stuff
1 parent 28ae70b commit 0bcf08e

File tree

2 files changed

+15
-9
lines changed

2 files changed

+15
-9
lines changed

dd-java-agent/instrumentation/mule-4/build.gradle

+6-1
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,7 @@ muzzle {
1414
module = 'mule-core'
1515
versions = '[4.5.0,)'
1616
javaVersion = "17"
17+
excludeDependency 'om.google.guava:guava'
1718
excludeDependency 'com.google.code.findbugs:jsr305'
1819
additionalDependencies +="org.mule.runtime:mule-tracer-customization-impl:4.5.0"
1920
}
@@ -22,6 +23,7 @@ muzzle {
2223
module = 'mule-tracer-customization-impl'
2324
versions = '[4.5.0,)'
2425
javaVersion = "17"
26+
excludeDependency 'om.google.guava:guava'
2527
excludeDependency 'com.google.code.findbugs:jsr305'
2628
additionalDependencies +="org.mule.runtime:mule-core:4.5.0"
2729
}
@@ -30,8 +32,9 @@ muzzle {
3032
group = 'org.mule.runtime'
3133
module = 'mule-core'
3234
versions = '[4.5.0,)'
33-
assertInverse true
3435
javaVersion = "17"
36+
assertInverse true
37+
excludeDependency 'om.google.guava:guava'
3538
excludeDependency 'com.google.code.findbugs:jsr305'
3639
additionalDependencies +="org.mule.runtime:mule-tracer-customization-impl:4.5.0"
3740
}
@@ -119,6 +122,8 @@ dependencies {
119122
testImplementation project(':dd-java-agent:instrumentation:grizzly-http-2.3.20')
120123
testImplementation project(':dd-java-agent:instrumentation:grizzly-client-1.9')
121124
testImplementation project(':dd-java-agent:instrumentation:caffeine')
125+
testImplementation project(':dd-java-agent:instrumentation:quartz-2')
126+
122127

123128
testImplementation group: 'org.mule.runtime', name: 'mule-module-launcher', version: muleVersion
124129
testImplementation group: 'org.mule.runtime', name: 'mule-core', version: muleVersion
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,17 @@
11
package datadog.trace.instrumentation.mule4;
22

3+
import static datadog.trace.agent.tooling.bytebuddy.matcher.NameMatchers.named;
4+
import static datadog.trace.agent.tooling.bytebuddy.matcher.NameMatchers.namedOneOf;
5+
import static net.bytebuddy.matcher.ElementMatchers.isMethod;
6+
import static net.bytebuddy.matcher.ElementMatchers.takesArgument;
7+
38
import com.google.auto.service.AutoService;
49
import datadog.trace.agent.tooling.Instrumenter;
510
import datadog.trace.agent.tooling.InstrumenterModule;
6-
import datadog.trace.agent.tooling.bytebuddy.matcher.NameMatchers;
711
import datadog.trace.bootstrap.InstrumentationContext;
812
import datadog.trace.bootstrap.instrumentation.api.AgentScope;
913
import datadog.trace.bootstrap.instrumentation.api.AgentTracer;
1014
import net.bytebuddy.asm.Advice;
11-
import net.bytebuddy.matcher.ElementMatchers;
1215
import org.mule.runtime.api.event.EventContext;
1316
import org.mule.runtime.core.api.event.CoreEvent;
1417
import org.mule.runtime.tracer.api.EventTracer;
@@ -18,7 +21,7 @@
1821
* handler.
1922
*/
2023
@AutoService(InstrumenterModule.class)
21-
public class ComponentMessageInstrumentation extends AbstractMuleInstrumentation
24+
public class ComponentMessageProcessorInstrumentation extends AbstractMuleInstrumentation
2225
implements Instrumenter.ForSingleType {
2326

2427
@Override
@@ -29,11 +32,9 @@ public String instrumentedType() {
2932
@Override
3033
public void methodAdvice(MethodTransformer transformer) {
3134
transformer.applyAdvice(
32-
ElementMatchers.isMethod()
33-
.and(NameMatchers.namedOneOf("onEvent", "onEventSynchronous"))
34-
.and(
35-
ElementMatchers.takesArgument(
36-
0, NameMatchers.named("org.mule.runtime.core.api.event.CoreEvent"))),
35+
isMethod()
36+
.and(namedOneOf("onEvent", "onEventSynchronous", "prepareAndExecuteOperation"))
37+
.and(takesArgument(0, named("org.mule.runtime.core.api.event.CoreEvent"))),
3738
getClass().getName() + "$ProcessAdvice");
3839
}
3940

0 commit comments

Comments
 (0)