From dadf1e4d71d1f047774e6f2c89a6ec3cff07098c Mon Sep 17 00:00:00 2001 From: Lauri Tulmin Date: Thu, 20 Jan 2022 21:00:48 +0200 Subject: [PATCH] Move reactor context propagation operator instrumentation to separate instrumentation module (#5188) --- .../reactor/ReactorInstrumentationModule.java | 4 +-- ...extPropagationOperatorInstrumentation.java | 2 +- ...pagationOperatorInstrumentationModule.java | 33 +++++++++++++++++++ 3 files changed, 36 insertions(+), 3 deletions(-) rename instrumentation/reactor/reactor-3.1/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/reactor/{ => operator}/ContextPropagationOperatorInstrumentation.java (98%) create mode 100644 instrumentation/reactor/reactor-3.1/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/reactor/operator/ContextPropagationOperatorInstrumentationModule.java diff --git a/instrumentation/reactor/reactor-3.1/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/reactor/ReactorInstrumentationModule.java b/instrumentation/reactor/reactor-3.1/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/reactor/ReactorInstrumentationModule.java index dcdcd1ef93..2c39d17186 100644 --- a/instrumentation/reactor/reactor-3.1/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/reactor/ReactorInstrumentationModule.java +++ b/instrumentation/reactor/reactor-3.1/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/reactor/ReactorInstrumentationModule.java @@ -5,7 +5,7 @@ package io.opentelemetry.javaagent.instrumentation.reactor; -import static java.util.Arrays.asList; +import static java.util.Collections.singletonList; import com.google.auto.service.AutoService; import io.opentelemetry.javaagent.extension.instrumentation.InstrumentationModule; @@ -21,6 +21,6 @@ public class ReactorInstrumentationModule extends InstrumentationModule { @Override public List typeInstrumentations() { - return asList(new HooksInstrumentation(), new ContextPropagationOperatorInstrumentation()); + return singletonList(new HooksInstrumentation()); } } diff --git a/instrumentation/reactor/reactor-3.1/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/reactor/ContextPropagationOperatorInstrumentation.java b/instrumentation/reactor/reactor-3.1/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/reactor/operator/ContextPropagationOperatorInstrumentation.java similarity index 98% rename from instrumentation/reactor/reactor-3.1/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/reactor/ContextPropagationOperatorInstrumentation.java rename to instrumentation/reactor/reactor-3.1/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/reactor/operator/ContextPropagationOperatorInstrumentation.java index a54f624808..23106af233 100644 --- a/instrumentation/reactor/reactor-3.1/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/reactor/ContextPropagationOperatorInstrumentation.java +++ b/instrumentation/reactor/reactor-3.1/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/reactor/operator/ContextPropagationOperatorInstrumentation.java @@ -3,7 +3,7 @@ * SPDX-License-Identifier: Apache-2.0 */ -package io.opentelemetry.javaagent.instrumentation.reactor; +package io.opentelemetry.javaagent.instrumentation.reactor.operator; import static net.bytebuddy.matcher.ElementMatchers.isMethod; import static net.bytebuddy.matcher.ElementMatchers.isPublic; diff --git a/instrumentation/reactor/reactor-3.1/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/reactor/operator/ContextPropagationOperatorInstrumentationModule.java b/instrumentation/reactor/reactor-3.1/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/reactor/operator/ContextPropagationOperatorInstrumentationModule.java new file mode 100644 index 0000000000..07c4b3db54 --- /dev/null +++ b/instrumentation/reactor/reactor-3.1/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/reactor/operator/ContextPropagationOperatorInstrumentationModule.java @@ -0,0 +1,33 @@ +/* + * Copyright The OpenTelemetry Authors + * SPDX-License-Identifier: Apache-2.0 + */ + +package io.opentelemetry.javaagent.instrumentation.reactor.operator; + +import static io.opentelemetry.javaagent.extension.matcher.AgentElementMatchers.hasClassesNamed; +import static java.util.Collections.singletonList; + +import com.google.auto.service.AutoService; +import io.opentelemetry.javaagent.extension.instrumentation.InstrumentationModule; +import io.opentelemetry.javaagent.extension.instrumentation.TypeInstrumentation; +import java.util.List; +import net.bytebuddy.matcher.ElementMatcher; + +@AutoService(InstrumentationModule.class) +public class ContextPropagationOperatorInstrumentationModule extends InstrumentationModule { + + public ContextPropagationOperatorInstrumentationModule() { + super("reactor", "reactor-3.1", "reactor-context-propagation-operator"); + } + + @Override + public ElementMatcher.Junction classLoaderMatcher() { + return hasClassesNamed("application.io.opentelemetry.context.Context"); + } + + @Override + public List typeInstrumentations() { + return singletonList(new ContextPropagationOperatorInstrumentation()); + } +}