File tree Expand file tree Collapse file tree 11 files changed +30
-18
lines changed
instrumentation/couchbase
src/main/java/io/opentelemetry/javaagent/instrumentation/couchbase/v2_0
couchbase-2.6/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/couchbase/v2_6
couchbase-3.1.6/javaagent
src/main/java/io/opentelemetry/javaagent/instrumentation/couchbase/v3_1_6
src/main/java/io/opentelemetry/javaagent/instrumentation/couchbase/v3_1
src/main/java/io/opentelemetry/javaagent/instrumentation/couchbase/v3_2
src/main/java/io/opentelemetry/javaagent/instrumentation/couchbase/v3_4 Expand file tree Collapse file tree 11 files changed +30
-18
lines changed Original file line number Diff line number Diff line change @@ -26,7 +26,7 @@ dependencies {
2626
2727 testImplementation(project(" :instrumentation:couchbase:couchbase-common:testing" ))
2828
29- // TODO testInstrumentation(project(":instrumentation:couchbase:couchbase-2.6:javaagent"))
29+ testInstrumentation(project(" :instrumentation:couchbase:couchbase-2.6:javaagent" ))
3030 testInstrumentation(project(" :instrumentation:couchbase:couchbase-3.1:javaagent" ))
3131 testInstrumentation(project(" :instrumentation:couchbase:couchbase-3.1.6:javaagent" ))
3232 testInstrumentation(project(" :instrumentation:couchbase:couchbase-3.2:javaagent" ))
Original file line number Diff line number Diff line change 55
66package io .opentelemetry .javaagent .instrumentation .couchbase .v2_0 ;
77
8+ import static io .opentelemetry .javaagent .extension .matcher .AgentElementMatchers .hasClassesNamed ;
89import static java .util .Arrays .asList ;
910import static java .util .Collections .singletonList ;
1011
1314import io .opentelemetry .javaagent .extension .instrumentation .TypeInstrumentation ;
1415import io .opentelemetry .javaagent .extension .instrumentation .internal .ExperimentalInstrumentationModule ;
1516import java .util .List ;
17+ import net .bytebuddy .matcher .ElementMatcher ;
1618
1719@ AutoService (InstrumentationModule .class )
1820public class CouchbaseInstrumentationModule extends InstrumentationModule
@@ -46,4 +48,10 @@ public List<String> injectedClassNames() {
4648 public boolean isIndyReady () {
4749 return true ;
4850 }
51+
52+ @ Override
53+ public ElementMatcher .Junction <ClassLoader > classLoaderMatcher () {
54+ // removed in 3.x
55+ return hasClassesNamed ("com.couchbase.client.java.CouchbaseAsyncBucket" );
56+ }
4957}
Original file line number Diff line number Diff line change 55
66package io .opentelemetry .javaagent .instrumentation .couchbase .v2_6 ;
77
8+ import static io .opentelemetry .javaagent .extension .matcher .AgentElementMatchers .hasClassesNamed ;
89import static java .util .Arrays .asList ;
910
1011import com .google .auto .service .AutoService ;
1112import io .opentelemetry .javaagent .extension .instrumentation .InstrumentationModule ;
1213import io .opentelemetry .javaagent .extension .instrumentation .TypeInstrumentation ;
1314import io .opentelemetry .javaagent .extension .instrumentation .internal .ExperimentalInstrumentationModule ;
1415import java .util .List ;
16+ import net .bytebuddy .matcher .ElementMatcher ;
1517
1618@ AutoService (InstrumentationModule .class )
1719public class CouchbaseInstrumentationModule extends InstrumentationModule
@@ -21,6 +23,12 @@ public CouchbaseInstrumentationModule() {
2123 super ("couchbase" , "couchbase-2.6" );
2224 }
2325
26+ @ Override
27+ public ElementMatcher .Junction <ClassLoader > classLoaderMatcher () {
28+ // introduced in java-client 2.6, removed in 3.x
29+ return hasClassesNamed ("com.couchbase.client.java.auth.CertAuthenticator" );
30+ }
31+
2432 @ Override
2533 public List <TypeInstrumentation > typeInstrumentations () {
2634 return asList (new CouchbaseCoreInstrumentation (), new CouchbaseNetworkInstrumentation ());
Original file line number Diff line number Diff line change @@ -35,7 +35,7 @@ dependencies {
3535
3636 testInstrumentation(project(" :instrumentation:couchbase:couchbase-2.0:javaagent" ))
3737 testInstrumentation(project(" :instrumentation:couchbase:couchbase-2.6:javaagent" ))
38- // TODO testInstrumentation(project(":instrumentation:couchbase:couchbase-3.1:javaagent"))
38+ testInstrumentation(project(" :instrumentation:couchbase:couchbase-3.1:javaagent" ))
3939 testInstrumentation(project(" :instrumentation:couchbase:couchbase-3.2:javaagent" ))
4040 testInstrumentation(project(" :instrumentation:couchbase:couchbase-3.4:javaagent" ))
4141 testImplementation(" org.testcontainers:testcontainers-couchbase" )
Original file line number Diff line number Diff line change @@ -25,11 +25,9 @@ public CouchbaseInstrumentationModule() {
2525
2626 @ Override
2727 public ElementMatcher .Junction <ClassLoader > classLoaderMatcher () {
28- // New class introduced in 3.1, the minimum version we support.
29- // NB: Couchbase does not provide any API guarantees on their core IO artifact so reconsider
30- // instrumenting it instead of each individual JVM artifact if this becomes unmaintainable.
31- return hasClassesNamed ("com.couchbase.client.core.cnc.TracingIdentifiers" )
32- // added in 3.2
28+ // introduced in java-client 3.1.6 (core-io 2.1.6)
29+ return hasClassesNamed ("com.couchbase.client.core.endpoint.EventingEndpoint" )
30+ // introduced in java-client 3.2.0 (core-io 2.2.0)
3331 .and (not (hasClassesNamed ("com.couchbase.client.core.cnc.RequestSpan$StatusCode" )));
3432 }
3533
Original file line number Diff line number Diff line change @@ -36,7 +36,7 @@ dependencies {
3636
3737 testInstrumentation(project(" :instrumentation:couchbase:couchbase-2.0:javaagent" ))
3838 testInstrumentation(project(" :instrumentation:couchbase:couchbase-2.6:javaagent" ))
39- // TODO testInstrumentation(project(":instrumentation:couchbase:couchbase-3.1.6:javaagent"))
39+ testInstrumentation(project(" :instrumentation:couchbase:couchbase-3.1.6:javaagent" ))
4040 testInstrumentation(project(" :instrumentation:couchbase:couchbase-3.2:javaagent" ))
4141 testInstrumentation(project(" :instrumentation:couchbase:couchbase-3.4:javaagent" ))
4242 testImplementation(" org.testcontainers:testcontainers-couchbase" )
Original file line number Diff line number Diff line change @@ -25,12 +25,10 @@ public CouchbaseInstrumentationModule() {
2525
2626 @ Override
2727 public ElementMatcher .Junction <ClassLoader > classLoaderMatcher () {
28- // New class introduced in 3.1, the minimum version we support.
29- // NB: Couchbase does not provide any API guarantees on their core IO artifact so reconsider
30- // instrumenting it instead of each individual JVM artifact if this becomes unmaintainable.
28+ // introduced in java-client 3.1.0 (core-io 2.1.0)
3129 return hasClassesNamed ("com.couchbase.client.core.cnc.TracingIdentifiers" )
32- // added in 3.2
33- .and (not (hasClassesNamed ("com.couchbase.client.core.cnc.RequestSpan$StatusCode " )));
30+ // introduced in java-client 3.1.6 (core-io 2.1.6)
31+ .and (not (hasClassesNamed ("com.couchbase.client.core.endpoint.EventingEndpoint " )));
3432 }
3533
3634 @ Override
Original file line number Diff line number Diff line change @@ -38,7 +38,7 @@ dependencies {
3838 testInstrumentation(project(" :instrumentation:couchbase:couchbase-2.0:javaagent" ))
3939 testInstrumentation(project(" :instrumentation:couchbase:couchbase-2.6:javaagent" ))
4040 testInstrumentation(project(" :instrumentation:couchbase:couchbase-3.1:javaagent" ))
41- // TODO testInstrumentation(project(":instrumentation:couchbase:couchbase-3.1.6:javaagent"))
41+ testInstrumentation(project(" :instrumentation:couchbase:couchbase-3.1.6:javaagent" ))
4242 testInstrumentation(project(" :instrumentation:couchbase:couchbase-3.4:javaagent" ))
4343
4444 latestDepTestLibrary(" com.couchbase.client:java-client:3.3.+" ) // see couchbase-3.4 module
Original file line number Diff line number Diff line change @@ -25,9 +25,9 @@ public CouchbaseInstrumentationModule() {
2525
2626 @ Override
2727 public ElementMatcher .Junction <ClassLoader > classLoaderMatcher () {
28- // New class introduced in 3.2.
29- // CoreTransactionRequest was introduced in 3.4.0.
28+ // introduced in java-client 3.2.0 (core-io 2.2.0)
3029 return hasClassesNamed ("com.couchbase.client.core.cnc.RequestSpan$StatusCode" )
30+ // introduced in java-client 3.4.0 (core-io 2.4.0)
3131 .and (
3232 not (
3333 hasClassesNamed (
Original file line number Diff line number Diff line change @@ -38,7 +38,7 @@ dependencies {
3838 testInstrumentation(project(" :instrumentation:couchbase:couchbase-2.0:javaagent" ))
3939 testInstrumentation(project(" :instrumentation:couchbase:couchbase-2.6:javaagent" ))
4040 testInstrumentation(project(" :instrumentation:couchbase:couchbase-3.1:javaagent" ))
41- // TODO testInstrumentation(project(":instrumentation:couchbase:couchbase-3.1.6:javaagent"))
41+ testInstrumentation(project(" :instrumentation:couchbase:couchbase-3.1.6:javaagent" ))
4242 testInstrumentation(project(" :instrumentation:couchbase:couchbase-3.2:javaagent" ))
4343}
4444
You can’t perform that action at this time.
0 commit comments