Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -26,8 +26,9 @@ dependencies {

testImplementation(project(":instrumentation:couchbase:couchbase-common:testing"))

latestDepTestLibrary("org.springframework.data:spring-data-couchbase:3.+")
latestDepTestLibrary("com.couchbase.client:java-client:2.+")
// later versions are tested with couchbase-2.6 instrumentation
latestDepTestLibrary("org.springframework.data:spring-data-couchbase:2.+")
latestDepTestLibrary("com.couchbase.client:java-client:2.5.+")
}

tasks.withType<Test>().configureEach {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -32,6 +32,11 @@ public List<TypeInstrumentation> typeInstrumentations() {
return asList(new CouchbaseBucketInstrumentation(), new CouchbaseClusterInstrumentation());
}

@Override
public String getModuleGroup() {
return "couchbase";
}
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

should we add the test-indy label to this PR?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

now indy tests are run by default, that is how I noticed that they failed

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

cool, good to know, thanks!


@Override
public List<String> injectedClassNames() {
return singletonList("rx.__OpenTelemetryTracingUtil");
Expand Down

This file was deleted.

This file was deleted.

This file was deleted.

This file was deleted.

Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
/*
* Copyright The OpenTelemetry Authors
* SPDX-License-Identifier: Apache-2.0
*/

package io.opentelemetry.javaagent.instrumentation.couchbase.v2_0;

import com.couchbase.client.java.cluster.BucketSettings;
import com.couchbase.client.java.env.DefaultCouchbaseEnvironment;
import io.opentelemetry.instrumentation.couchbase.AbstractCouchbaseAsyncClientTest;

class CouchbaseAsyncClientTest extends AbstractCouchbaseAsyncClientTest {

@Override
protected DefaultCouchbaseEnvironment.Builder envBuilder(
BucketSettings bucketSettings, int carrierDirectPort, int httpDirectPort) {
return CouchbaseUtil.envBuilder(bucketSettings, carrierDirectPort, httpDirectPort);
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
/*
* Copyright The OpenTelemetry Authors
* SPDX-License-Identifier: Apache-2.0
*/

package io.opentelemetry.javaagent.instrumentation.couchbase.v2_0;

import com.couchbase.client.java.cluster.BucketSettings;
import com.couchbase.client.java.env.DefaultCouchbaseEnvironment;
import io.opentelemetry.instrumentation.couchbase.AbstractCouchbaseClientTest;

class CouchbaseClientTest extends AbstractCouchbaseClientTest {

@Override
protected DefaultCouchbaseEnvironment.Builder envBuilder(
BucketSettings bucketSettings, int carrierDirectPort, int httpDirectPort) {
return CouchbaseUtil.envBuilder(bucketSettings, carrierDirectPort, httpDirectPort);
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,41 @@
/*
* Copyright The OpenTelemetry Authors
* SPDX-License-Identifier: Apache-2.0
*/

package io.opentelemetry.javaagent.instrumentation.couchbase.v2_0;

import com.couchbase.client.core.metrics.DefaultLatencyMetricsCollectorConfig;
import com.couchbase.client.core.metrics.DefaultMetricsCollectorConfig;
import com.couchbase.client.java.cluster.BucketSettings;
import com.couchbase.client.java.env.DefaultCouchbaseEnvironment;
import java.util.concurrent.TimeUnit;

public class CouchbaseUtil {

public static DefaultCouchbaseEnvironment.Builder envBuilder(
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

this class is duplicated for 2.6 because the return types of methods in the builder class have changed, class compiled agains older version of the library won't work with newer version

BucketSettings bucketSettings, int carrierDirectPort, int httpDirectPort) {
// Couchbase seems to be really slow to start sometimes
long timeout = TimeUnit.SECONDS.toMillis(20);
return DefaultCouchbaseEnvironment.builder()
.bootstrapCarrierDirectPort(carrierDirectPort)
.bootstrapHttpDirectPort(httpDirectPort)
// settings to try to reduce variability in the tests:
.runtimeMetricsCollectorConfig(DefaultMetricsCollectorConfig.create(0, TimeUnit.DAYS))
.networkLatencyMetricsCollectorConfig(
DefaultLatencyMetricsCollectorConfig.create(0, TimeUnit.DAYS))
.computationPoolSize(1)
.connectTimeout(timeout)
.disconnectTimeout(timeout)
.kvTimeout(timeout)
.managementTimeout(timeout)
.queryTimeout(timeout)
.viewTimeout(timeout)
.keepAliveTimeout(timeout)
.searchTimeout(timeout)
.analyticsTimeout(timeout)
.socketConnectTimeout((int) timeout);
}

private CouchbaseUtil() {}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,32 @@
/*
* Copyright The OpenTelemetry Authors
* SPDX-License-Identifier: Apache-2.0
*/

package io.opentelemetry.javaagent.instrumentation.couchbase.v2_0.springdata;

import com.couchbase.client.java.cluster.BucketSettings;
import com.couchbase.client.java.env.DefaultCouchbaseEnvironment;
import io.opentelemetry.instrumentation.couchbase.springdata.AbstractCouchbaseSpringRepositoryTest;
import io.opentelemetry.instrumentation.couchbase.springdata.TestDocument;
import io.opentelemetry.instrumentation.couchbase.springdata.TestRepository;
import io.opentelemetry.javaagent.instrumentation.couchbase.v2_0.CouchbaseUtil;

class CouchbaseSpringRepositoryTest extends AbstractCouchbaseSpringRepositoryTest {

@Override
protected DefaultCouchbaseEnvironment.Builder envBuilder(
BucketSettings bucketSettings, int carrierDirectPort, int httpDirectPort) {
return CouchbaseUtil.envBuilder(bucketSettings, carrierDirectPort, httpDirectPort);
}

@Override
protected TestDocument findById(TestRepository repository, String id) {
return repository.findOne(id);
}

@Override
protected void deleteById(TestRepository repository, String id) {
repository.delete(id);
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
/*
* Copyright The OpenTelemetry Authors
* SPDX-License-Identifier: Apache-2.0
*/

package io.opentelemetry.javaagent.instrumentation.couchbase.v2_0.springdata;

import com.couchbase.client.java.cluster.BucketSettings;
import com.couchbase.client.java.env.DefaultCouchbaseEnvironment;
import io.opentelemetry.instrumentation.couchbase.springdata.AbstractCouchbaseSpringTemplateTest;
import io.opentelemetry.javaagent.instrumentation.couchbase.v2_0.CouchbaseUtil;

class CouchbaseSpringTemplateTest extends AbstractCouchbaseSpringTemplateTest {

@Override
protected DefaultCouchbaseEnvironment.Builder envBuilder(
BucketSettings bucketSettings, int carrierDirectPort, int httpDirectPort) {
return CouchbaseUtil.envBuilder(bucketSettings, carrierDirectPort, httpDirectPort);
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -10,10 +10,13 @@
import com.google.auto.service.AutoService;
import io.opentelemetry.javaagent.extension.instrumentation.InstrumentationModule;
import io.opentelemetry.javaagent.extension.instrumentation.TypeInstrumentation;
import io.opentelemetry.javaagent.extension.instrumentation.internal.ExperimentalInstrumentationModule;
import java.util.List;

@AutoService(InstrumentationModule.class)
public class CouchbaseInstrumentationModule extends InstrumentationModule {
public class CouchbaseInstrumentationModule extends InstrumentationModule
implements ExperimentalInstrumentationModule {

public CouchbaseInstrumentationModule() {
super("couchbase", "couchbase-2.6");
}
Expand All @@ -22,4 +25,9 @@ public CouchbaseInstrumentationModule() {
public List<TypeInstrumentation> typeInstrumentations() {
return asList(new CouchbaseCoreInstrumentation(), new CouchbaseNetworkInstrumentation());
}

@Override
public String getModuleGroup() {
return "couchbase";
}
}

This file was deleted.

This file was deleted.

This file was deleted.

This file was deleted.

This file was deleted.

Loading
Loading