From 5d0506e5e8f1fb3c834696d294cd3accec788a8d Mon Sep 17 00:00:00 2001 From: Trask Stalnaker Date: Mon, 23 Nov 2020 14:51:55 -0800 Subject: [PATCH] Convert rxjava-1.0 into library (#1732) --- .../couchbase/couchbase-2.0/couchbase-2.0.gradle | 2 +- .../couchbase/v2_0/CouchbaseInstrumentationModule.java | 6 +++--- .../couchbase/v2_0/CouchbaseOnSubscribe.java | 2 +- .../couchbase/couchbase-2.6/couchbase-2.6.gradle | 2 +- instrumentation/hystrix-1.4/hystrix-1.4.gradle | 2 +- .../hystrix/HystrixInstrumentationModule.java | 8 ++++---- .../rxjava-1.0/library/rxjava-1.0-library.gradle | 5 +++++ .../instrumentation/rxjava/SpanFinishingSubscription.java | 2 +- .../instrumentation/rxjava/TracedOnSubscribe.java | 2 +- .../instrumentation/rxjava/TracedSubscriber.java | 2 +- .../src/main/java/rx/__OpenTelemetryTracingUtil.java | 0 instrumentation/rxjava-1.0/rxjava-1.0.gradle | 5 ----- settings.gradle | 3 +-- 13 files changed, 20 insertions(+), 21 deletions(-) create mode 100644 instrumentation/rxjava-1.0/library/rxjava-1.0-library.gradle rename instrumentation/rxjava-1.0/{src/main/java/io/opentelemetry/javaagent => library/src/main/java/io/opentelemetry}/instrumentation/rxjava/SpanFinishingSubscription.java (94%) rename instrumentation/rxjava-1.0/{src/main/java/io/opentelemetry/javaagent => library/src/main/java/io/opentelemetry}/instrumentation/rxjava/TracedOnSubscribe.java (96%) rename instrumentation/rxjava-1.0/{src/main/java/io/opentelemetry/javaagent => library/src/main/java/io/opentelemetry}/instrumentation/rxjava/TracedSubscriber.java (97%) rename instrumentation/rxjava-1.0/{ => library}/src/main/java/rx/__OpenTelemetryTracingUtil.java (100%) delete mode 100644 instrumentation/rxjava-1.0/rxjava-1.0.gradle diff --git a/instrumentation/couchbase/couchbase-2.0/couchbase-2.0.gradle b/instrumentation/couchbase/couchbase-2.0/couchbase-2.0.gradle index 1ab6a9955a..6ca02ecd69 100644 --- a/instrumentation/couchbase/couchbase-2.0/couchbase-2.0.gradle +++ b/instrumentation/couchbase/couchbase-2.0/couchbase-2.0.gradle @@ -26,7 +26,7 @@ muzzle { } dependencies { - implementation project(':instrumentation:rxjava-1.0') + implementation project(':instrumentation:rxjava-1.0:library') library group: 'com.couchbase.client', name: 'java-client', version: '2.0.0' diff --git a/instrumentation/couchbase/couchbase-2.0/src/main/java/io/opentelemetry/javaagent/instrumentation/couchbase/v2_0/CouchbaseInstrumentationModule.java b/instrumentation/couchbase/couchbase-2.0/src/main/java/io/opentelemetry/javaagent/instrumentation/couchbase/v2_0/CouchbaseInstrumentationModule.java index c4df613af3..6f1282467d 100644 --- a/instrumentation/couchbase/couchbase-2.0/src/main/java/io/opentelemetry/javaagent/instrumentation/couchbase/v2_0/CouchbaseInstrumentationModule.java +++ b/instrumentation/couchbase/couchbase-2.0/src/main/java/io/opentelemetry/javaagent/instrumentation/couchbase/v2_0/CouchbaseInstrumentationModule.java @@ -22,9 +22,9 @@ public class CouchbaseInstrumentationModule extends InstrumentationModule { public String[] helperClassNames() { return new String[] { "rx.__OpenTelemetryTracingUtil", - "io.opentelemetry.javaagent.instrumentation.rxjava.SpanFinishingSubscription", - "io.opentelemetry.javaagent.instrumentation.rxjava.TracedSubscriber", - "io.opentelemetry.javaagent.instrumentation.rxjava.TracedOnSubscribe", + "io.opentelemetry.instrumentation.rxjava.SpanFinishingSubscription", + "io.opentelemetry.instrumentation.rxjava.TracedSubscriber", + "io.opentelemetry.instrumentation.rxjava.TracedOnSubscribe", packageName + ".CouchbaseClientTracer", packageName + ".CouchbaseOnSubscribe", packageName + ".CouchbaseQueryNormalizer" diff --git a/instrumentation/couchbase/couchbase-2.0/src/main/java/io/opentelemetry/javaagent/instrumentation/couchbase/v2_0/CouchbaseOnSubscribe.java b/instrumentation/couchbase/couchbase-2.0/src/main/java/io/opentelemetry/javaagent/instrumentation/couchbase/v2_0/CouchbaseOnSubscribe.java index 8a12eae03b..7e25441d7c 100644 --- a/instrumentation/couchbase/couchbase-2.0/src/main/java/io/opentelemetry/javaagent/instrumentation/couchbase/v2_0/CouchbaseOnSubscribe.java +++ b/instrumentation/couchbase/couchbase-2.0/src/main/java/io/opentelemetry/javaagent/instrumentation/couchbase/v2_0/CouchbaseOnSubscribe.java @@ -10,8 +10,8 @@ import static io.opentelemetry.javaagent.instrumentation.couchbase.v2_0.Couchbas import io.opentelemetry.api.trace.Span; import io.opentelemetry.api.trace.attributes.SemanticAttributes; +import io.opentelemetry.instrumentation.rxjava.TracedOnSubscribe; import io.opentelemetry.javaagent.instrumentation.api.db.DbSystem; -import io.opentelemetry.javaagent.instrumentation.rxjava.TracedOnSubscribe; import java.lang.reflect.Method; import rx.Observable; diff --git a/instrumentation/couchbase/couchbase-2.6/couchbase-2.6.gradle b/instrumentation/couchbase/couchbase-2.6/couchbase-2.6.gradle index a1b4fdb69b..575e5a12f6 100644 --- a/instrumentation/couchbase/couchbase-2.6/couchbase-2.6.gradle +++ b/instrumentation/couchbase/couchbase-2.6/couchbase-2.6.gradle @@ -17,7 +17,7 @@ muzzle { } dependencies { - implementation project(':instrumentation:rxjava-1.0') + implementation project(':instrumentation:rxjava-1.0:library') library group: 'com.couchbase.client', name: 'java-client', version: '2.6.0' diff --git a/instrumentation/hystrix-1.4/hystrix-1.4.gradle b/instrumentation/hystrix-1.4/hystrix-1.4.gradle index deb5312326..d8256fc1c2 100644 --- a/instrumentation/hystrix-1.4/hystrix-1.4.gradle +++ b/instrumentation/hystrix-1.4/hystrix-1.4.gradle @@ -9,7 +9,7 @@ muzzle { } dependencies { - implementation project(':instrumentation:rxjava-1.0') + implementation project(':instrumentation:rxjava-1.0:library') library group: 'com.netflix.hystrix', name: 'hystrix-core', version: '1.4.0' library group: 'io.reactivex', name: 'rxjava', version: '1.0.7' diff --git a/instrumentation/hystrix-1.4/src/main/java/io/opentelemetry/javaagent/instrumentation/hystrix/HystrixInstrumentationModule.java b/instrumentation/hystrix-1.4/src/main/java/io/opentelemetry/javaagent/instrumentation/hystrix/HystrixInstrumentationModule.java index 7bfbae32bf..9a8d593403 100644 --- a/instrumentation/hystrix-1.4/src/main/java/io/opentelemetry/javaagent/instrumentation/hystrix/HystrixInstrumentationModule.java +++ b/instrumentation/hystrix-1.4/src/main/java/io/opentelemetry/javaagent/instrumentation/hystrix/HystrixInstrumentationModule.java @@ -17,7 +17,7 @@ import static net.bytebuddy.matcher.ElementMatchers.returns; import com.google.auto.service.AutoService; import com.netflix.hystrix.HystrixInvokableInfo; import io.opentelemetry.api.trace.Span; -import io.opentelemetry.javaagent.instrumentation.rxjava.TracedOnSubscribe; +import io.opentelemetry.instrumentation.rxjava.TracedOnSubscribe; import io.opentelemetry.javaagent.tooling.InstrumentationModule; import io.opentelemetry.javaagent.tooling.TypeInstrumentation; import java.util.HashMap; @@ -42,9 +42,9 @@ public class HystrixInstrumentationModule extends InstrumentationModule { public String[] helperClassNames() { return new String[] { "rx.__OpenTelemetryTracingUtil", - "io.opentelemetry.javaagent.instrumentation.rxjava.SpanFinishingSubscription", - "io.opentelemetry.javaagent.instrumentation.rxjava.TracedSubscriber", - "io.opentelemetry.javaagent.instrumentation.rxjava.TracedOnSubscribe", + "io.opentelemetry.instrumentation.rxjava.SpanFinishingSubscription", + "io.opentelemetry.instrumentation.rxjava.TracedSubscriber", + "io.opentelemetry.instrumentation.rxjava.TracedOnSubscribe", packageName + ".HystrixTracer", getClass().getName() + "$HystrixOnSubscribe", }; diff --git a/instrumentation/rxjava-1.0/library/rxjava-1.0-library.gradle b/instrumentation/rxjava-1.0/library/rxjava-1.0-library.gradle new file mode 100644 index 0000000000..b4340c0101 --- /dev/null +++ b/instrumentation/rxjava-1.0/library/rxjava-1.0-library.gradle @@ -0,0 +1,5 @@ +apply from: "$rootDir/gradle/instrumentation-library.gradle" + +dependencies { + library group: 'io.reactivex', name: 'rxjava', version: '1.0.7' +} diff --git a/instrumentation/rxjava-1.0/src/main/java/io/opentelemetry/javaagent/instrumentation/rxjava/SpanFinishingSubscription.java b/instrumentation/rxjava-1.0/library/src/main/java/io/opentelemetry/instrumentation/rxjava/SpanFinishingSubscription.java similarity index 94% rename from instrumentation/rxjava-1.0/src/main/java/io/opentelemetry/javaagent/instrumentation/rxjava/SpanFinishingSubscription.java rename to instrumentation/rxjava-1.0/library/src/main/java/io/opentelemetry/instrumentation/rxjava/SpanFinishingSubscription.java index a3a3a5105e..a1de87f00f 100644 --- a/instrumentation/rxjava-1.0/src/main/java/io/opentelemetry/javaagent/instrumentation/rxjava/SpanFinishingSubscription.java +++ b/instrumentation/rxjava-1.0/library/src/main/java/io/opentelemetry/instrumentation/rxjava/SpanFinishingSubscription.java @@ -3,7 +3,7 @@ * SPDX-License-Identifier: Apache-2.0 */ -package io.opentelemetry.javaagent.instrumentation.rxjava; +package io.opentelemetry.instrumentation.rxjava; import io.opentelemetry.api.trace.Span; import io.opentelemetry.context.Context; diff --git a/instrumentation/rxjava-1.0/src/main/java/io/opentelemetry/javaagent/instrumentation/rxjava/TracedOnSubscribe.java b/instrumentation/rxjava-1.0/library/src/main/java/io/opentelemetry/instrumentation/rxjava/TracedOnSubscribe.java similarity index 96% rename from instrumentation/rxjava-1.0/src/main/java/io/opentelemetry/javaagent/instrumentation/rxjava/TracedOnSubscribe.java rename to instrumentation/rxjava-1.0/library/src/main/java/io/opentelemetry/instrumentation/rxjava/TracedOnSubscribe.java index aff5caae6b..8bfb231a8e 100644 --- a/instrumentation/rxjava-1.0/src/main/java/io/opentelemetry/javaagent/instrumentation/rxjava/TracedOnSubscribe.java +++ b/instrumentation/rxjava-1.0/library/src/main/java/io/opentelemetry/instrumentation/rxjava/TracedOnSubscribe.java @@ -3,7 +3,7 @@ * SPDX-License-Identifier: Apache-2.0 */ -package io.opentelemetry.javaagent.instrumentation.rxjava; +package io.opentelemetry.instrumentation.rxjava; import io.opentelemetry.api.trace.Span; import io.opentelemetry.context.Context; diff --git a/instrumentation/rxjava-1.0/src/main/java/io/opentelemetry/javaagent/instrumentation/rxjava/TracedSubscriber.java b/instrumentation/rxjava-1.0/library/src/main/java/io/opentelemetry/instrumentation/rxjava/TracedSubscriber.java similarity index 97% rename from instrumentation/rxjava-1.0/src/main/java/io/opentelemetry/javaagent/instrumentation/rxjava/TracedSubscriber.java rename to instrumentation/rxjava-1.0/library/src/main/java/io/opentelemetry/instrumentation/rxjava/TracedSubscriber.java index c51aebdb80..8c5af32c6b 100644 --- a/instrumentation/rxjava-1.0/src/main/java/io/opentelemetry/javaagent/instrumentation/rxjava/TracedSubscriber.java +++ b/instrumentation/rxjava-1.0/library/src/main/java/io/opentelemetry/instrumentation/rxjava/TracedSubscriber.java @@ -3,7 +3,7 @@ * SPDX-License-Identifier: Apache-2.0 */ -package io.opentelemetry.javaagent.instrumentation.rxjava; +package io.opentelemetry.instrumentation.rxjava; import io.opentelemetry.api.trace.Span; import io.opentelemetry.context.Context; diff --git a/instrumentation/rxjava-1.0/src/main/java/rx/__OpenTelemetryTracingUtil.java b/instrumentation/rxjava-1.0/library/src/main/java/rx/__OpenTelemetryTracingUtil.java similarity index 100% rename from instrumentation/rxjava-1.0/src/main/java/rx/__OpenTelemetryTracingUtil.java rename to instrumentation/rxjava-1.0/library/src/main/java/rx/__OpenTelemetryTracingUtil.java diff --git a/instrumentation/rxjava-1.0/rxjava-1.0.gradle b/instrumentation/rxjava-1.0/rxjava-1.0.gradle deleted file mode 100644 index f5c2ee53ab..0000000000 --- a/instrumentation/rxjava-1.0/rxjava-1.0.gradle +++ /dev/null @@ -1,5 +0,0 @@ -apply from: "$rootDir/gradle/instrumentation.gradle" - -dependencies { - compileOnly group: 'io.reactivex', name: 'rxjava', version: '1.0.7' -} diff --git a/settings.gradle b/settings.gradle index eb22e9b628..e939ccf14e 100644 --- a/settings.gradle +++ b/settings.gradle @@ -168,8 +168,7 @@ include ':instrumentation:rediscala-1.8' include ':instrumentation:redisson-3.0' include ':instrumentation:rmi' include ':instrumentation:runtime-metrics:library' -include ':instrumentation:rxjava-1.0' -include ':instrumentation:rxjava-1.0' +include ':instrumentation:rxjava-1.0:library' include ':instrumentation:scala-executors' include ':instrumentation:servlet:glassfish-testing' include ':instrumentation:servlet:servlet-common'