From 7ec48b4a9862f3285fe17d6e6f4cacbf3c4d2eb6 Mon Sep 17 00:00:00 2001 From: Stuart McCulloch Date: Tue, 7 Jul 2026 12:02:38 +0100 Subject: [PATCH] Remove redundant null checks in rxjava2 instrumentation (current Context is never null) --- .../instrumentation/rxjava2/CompletableInstrumentation.java | 2 +- .../instrumentation/rxjava2/FlowableInstrumentation.java | 2 +- .../trace/instrumentation/rxjava2/MaybeInstrumentation.java | 2 +- .../instrumentation/rxjava2/ObservableInstrumentation.java | 4 ++-- .../trace/instrumentation/rxjava2/SingleInstrumentation.java | 4 ++-- 5 files changed, 7 insertions(+), 7 deletions(-) diff --git a/dd-java-agent/instrumentation/rxjava/rxjava-2.0/src/main/java/datadog/trace/instrumentation/rxjava2/CompletableInstrumentation.java b/dd-java-agent/instrumentation/rxjava/rxjava-2.0/src/main/java/datadog/trace/instrumentation/rxjava2/CompletableInstrumentation.java index 8a95930561b..cfed4b67c45 100644 --- a/dd-java-agent/instrumentation/rxjava/rxjava-2.0/src/main/java/datadog/trace/instrumentation/rxjava2/CompletableInstrumentation.java +++ b/dd-java-agent/instrumentation/rxjava/rxjava-2.0/src/main/java/datadog/trace/instrumentation/rxjava2/CompletableInstrumentation.java @@ -39,7 +39,7 @@ public static class CaptureParentSpanAdvice { @Advice.OnMethodExit(suppress = Throwable.class) public static void onConstruct(@Advice.This final Completable completable) { Context parentContext = currentContext(); - if (parentContext != null && parentContext != rootContext()) { + if (parentContext != rootContext()) { InstrumentationContext.get(Completable.class, Context.class) .put(completable, parentContext); } diff --git a/dd-java-agent/instrumentation/rxjava/rxjava-2.0/src/main/java/datadog/trace/instrumentation/rxjava2/FlowableInstrumentation.java b/dd-java-agent/instrumentation/rxjava/rxjava-2.0/src/main/java/datadog/trace/instrumentation/rxjava2/FlowableInstrumentation.java index e3dcee91678..291b8efe8fa 100644 --- a/dd-java-agent/instrumentation/rxjava/rxjava-2.0/src/main/java/datadog/trace/instrumentation/rxjava2/FlowableInstrumentation.java +++ b/dd-java-agent/instrumentation/rxjava/rxjava-2.0/src/main/java/datadog/trace/instrumentation/rxjava2/FlowableInstrumentation.java @@ -39,7 +39,7 @@ public static class CaptureParentSpanAdvice { @Advice.OnMethodExit(suppress = Throwable.class) public static void onConstruct(@Advice.This final Flowable flowable) { Context parentContext = currentContext(); - if (parentContext != null && parentContext != rootContext()) { + if (parentContext != rootContext()) { InstrumentationContext.get(Flowable.class, Context.class).put(flowable, parentContext); } } diff --git a/dd-java-agent/instrumentation/rxjava/rxjava-2.0/src/main/java/datadog/trace/instrumentation/rxjava2/MaybeInstrumentation.java b/dd-java-agent/instrumentation/rxjava/rxjava-2.0/src/main/java/datadog/trace/instrumentation/rxjava2/MaybeInstrumentation.java index 9a681b488a8..2608e91873d 100644 --- a/dd-java-agent/instrumentation/rxjava/rxjava-2.0/src/main/java/datadog/trace/instrumentation/rxjava2/MaybeInstrumentation.java +++ b/dd-java-agent/instrumentation/rxjava/rxjava-2.0/src/main/java/datadog/trace/instrumentation/rxjava2/MaybeInstrumentation.java @@ -38,7 +38,7 @@ public static class CaptureParentSpanAdvice { @Advice.OnMethodExit(suppress = Throwable.class) public static void onConstruct(@Advice.This final Maybe maybe) { Context parentContext = currentContext(); - if (parentContext != null && parentContext != rootContext()) { + if (parentContext != rootContext()) { InstrumentationContext.get(Maybe.class, Context.class).put(maybe, parentContext); } } diff --git a/dd-java-agent/instrumentation/rxjava/rxjava-2.0/src/main/java/datadog/trace/instrumentation/rxjava2/ObservableInstrumentation.java b/dd-java-agent/instrumentation/rxjava/rxjava-2.0/src/main/java/datadog/trace/instrumentation/rxjava2/ObservableInstrumentation.java index e50b706f7f3..067dee10e52 100644 --- a/dd-java-agent/instrumentation/rxjava/rxjava-2.0/src/main/java/datadog/trace/instrumentation/rxjava2/ObservableInstrumentation.java +++ b/dd-java-agent/instrumentation/rxjava/rxjava-2.0/src/main/java/datadog/trace/instrumentation/rxjava2/ObservableInstrumentation.java @@ -38,7 +38,7 @@ public static class CaptureParentSpanAdvice { @Advice.OnMethodExit(suppress = Throwable.class) public static void onConstruct(@Advice.This final Observable observable) { Context parentContext = currentContext(); - if (parentContext != null) { + if (parentContext != rootContext()) { InstrumentationContext.get(Observable.class, Context.class).put(observable, parentContext); } } @@ -52,7 +52,7 @@ public static ContextScope onSubscribe( if (observer != null) { Context parentContext = InstrumentationContext.get(Observable.class, Context.class).get(observable); - if (parentContext != null && parentContext != rootContext()) { + if (parentContext != null) { // wrap the observer so spans from its events treat the captured span as their parent observer = new TracingObserver<>(observer, parentContext); // attach the context here in case additional observers are created during subscribe diff --git a/dd-java-agent/instrumentation/rxjava/rxjava-2.0/src/main/java/datadog/trace/instrumentation/rxjava2/SingleInstrumentation.java b/dd-java-agent/instrumentation/rxjava/rxjava-2.0/src/main/java/datadog/trace/instrumentation/rxjava2/SingleInstrumentation.java index 6173c5a525a..a94a48f2968 100644 --- a/dd-java-agent/instrumentation/rxjava/rxjava-2.0/src/main/java/datadog/trace/instrumentation/rxjava2/SingleInstrumentation.java +++ b/dd-java-agent/instrumentation/rxjava/rxjava-2.0/src/main/java/datadog/trace/instrumentation/rxjava2/SingleInstrumentation.java @@ -39,7 +39,7 @@ public static class CaptureParentSpanAdvice { @Advice.OnMethodExit(suppress = Throwable.class) public static void onConstruct(@Advice.This final Single single) { Context parentContext = currentContext(); - if (parentContext != null) { + if (parentContext != rootContext()) { InstrumentationContext.get(Single.class, Context.class).put(single, parentContext); } } @@ -52,7 +52,7 @@ public static ContextScope onSubscribe( @Advice.Argument(value = 0, readOnly = false) SingleObserver observer) { if (observer != null) { Context parentContext = InstrumentationContext.get(Single.class, Context.class).get(single); - if (parentContext != null && parentContext != rootContext()) { + if (parentContext != null) { // wrap the observer so spans from its events treat the captured span as their parent observer = new TracingSingleObserver<>(observer, parentContext); // attach the context here in case additional observers are created during subscribe