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 @@ -34,12 +34,10 @@ void testHelperClassesInjected() {
HttpPolicyProviders.addAfterRetryPolicies(list);

assertThat(list)
.satisfiesExactly(
item ->
assertThat(item.getClass().getName())
.isEqualTo(
"io.opentelemetry.javaagent.instrumentation.azurecore.v1_14.shaded"
+ ".com.azure.core.tracing.opentelemetry.OpenTelemetryHttpPolicy"));
.extracting(item -> item.getClass().getName())
.containsExactly(
"io.opentelemetry.javaagent.instrumentation.azurecore.v1_14.shaded"
+ ".com.azure.core.tracing.opentelemetry.OpenTelemetryHttpPolicy");
}

@Test
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -46,9 +46,9 @@ public List<String> exposedClassNames() {

@Override
public ElementMatcher.Junction<ClassLoader> classLoaderMatcher() {
// added in 1.19
// added in 1.19.0
return hasClassesNamed("com.azure.core.util.tracing.StartSpanOptions")
// added in 1.36
// added in 1.36.0
.and(not(hasClassesNamed("com.azure.core.util.tracing.TracerProvider")))
// artifact presence gate (provides native OTel support)
// added in com.azure:azure-core-tracing-opentelemetry 1.0.0-beta.47
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@
class C3p0InstrumentationTest extends AbstractC3p0InstrumentationTest {

@RegisterExtension
static final InstrumentationExtension testing = AgentInstrumentationExtension.create();
private static final InstrumentationExtension testing = AgentInstrumentationExtension.create();

@Override
protected InstrumentationExtension testing() {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -44,10 +44,10 @@ void shouldReportMetrics() throws Exception {
c3p0DataSource.setJdbcUrl("jdbc:mock:testDatabase");

// when
Connection connection = c3p0DataSource.getConnection();
configure(c3p0DataSource);
MILLISECONDS.sleep(100);
connection.close();
try (Connection connection = c3p0DataSource.getConnection()) {
configure(c3p0DataSource);
MILLISECONDS.sleep(100);
}

// then
assertDataSourceMetrics(c3p0DataSource);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -16,6 +16,7 @@
import io.opentelemetry.context.Context;
import io.opentelemetry.context.propagation.ContextPropagators;
import java.net.URI;
import java.net.URISyntaxException;
import java.util.Map;
import org.apache.camel.Endpoint;
import org.apache.camel.component.aws.sqs.SqsComponent;
Expand All @@ -36,7 +37,7 @@ static void setUp() {
}

@Test
void shouldExtractHttpParentForHttpEndpoint() throws Exception {
void shouldExtractHttpParentForHttpEndpoint() throws URISyntaxException {
// given
Endpoint endpoint = new HttpEndpoint("", new HttpComponent(), URI.create(""));
Map<String, Object> exchangeHeaders =
Expand All @@ -53,7 +54,7 @@ void shouldExtractHttpParentForHttpEndpoint() throws Exception {
}

@Test
void shouldNotFailExtractingNullHttpParentForHttpEndpoint() throws Exception {
void shouldNotFailExtractingNullHttpParentForHttpEndpoint() throws URISyntaxException {
// given
Endpoint endpoint = new HttpEndpoint("", new HttpComponent(), URI.create(""));
Map<String, Object> exchangeHeaders = singletonMap("traceparent", null);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -48,7 +48,7 @@ private ActiveContextManager() {}
* @param context The exchange
* @param request The context
*/
public static void activate(@Nullable Context context, CamelRequest request) {
static void activate(@Nullable Context context, CamelRequest request) {
Exchange exchange = request.getExchange();
ContextWithScope parent = exchange.getProperty(ACTIVE_CONTEXT_PROPERTY, ContextWithScope.class);
ContextWithScope contextWithScope = ContextWithScope.activate(parent, context, request);
Expand All @@ -64,7 +64,7 @@ public static void activate(@Nullable Context context, CamelRequest request) {
* @param exchange The exchange
*/
@Nullable
public static Context deactivate(Exchange exchange) {
static Context deactivate(Exchange exchange) {
ContextWithScope contextWithScope =
exchange.getProperty(ACTIVE_CONTEXT_PROPERTY, ContextWithScope.class);

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@
@AutoValue
abstract class CamelRequest {

public static CamelRequest create(
static CamelRequest create(
SpanDecorator spanDecorator,
Exchange exchange,
Endpoint endpoint,
Expand All @@ -22,13 +22,13 @@ public static CamelRequest create(
return new AutoValue_CamelRequest(spanDecorator, exchange, endpoint, camelDirection, spanKind);
}

public abstract SpanDecorator getSpanDecorator();
abstract SpanDecorator getSpanDecorator();

public abstract Exchange getExchange();
abstract Exchange getExchange();

public abstract Endpoint getEndpoint();
abstract Endpoint getEndpoint();

public abstract CamelDirection getCamelDirection();
abstract CamelDirection getCamelDirection();

public abstract SpanKind getSpanKind();
abstract SpanKind getSpanKind();
}
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,7 @@
import org.apache.camel.Endpoint;
import org.apache.camel.util.StringHelper;

public class CamelSingletons {
class CamelSingletons {

private static final String INSTRUMENTATION_NAME = "io.opentelemetry.camel-2.20";

Expand Down Expand Up @@ -77,11 +77,11 @@ public void onEnd(
instrumenter = builder.buildInstrumenter(request -> request.getSpanKind());
}

public static Instrumenter<CamelRequest, Void> instrumenter() {
static Instrumenter<CamelRequest, Void> instrumenter() {
return instrumenter;
}

public static SpanDecorator getSpanDecorator(Endpoint endpoint) {
static SpanDecorator getSpanDecorator(Endpoint endpoint) {
String component = "";
String uri = endpoint.getEndpointUri();
String[] splitUri = StringHelper.splitOnCharacter(uri, ":", 2);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -14,8 +14,7 @@
import io.opentelemetry.instrumentation.api.instrumenter.AttributesExtractor;
import javax.annotation.Nullable;

public class CassandraAttributesExtractor
implements AttributesExtractor<CassandraRequest, ExecutionInfo> {
class CassandraAttributesExtractor implements AttributesExtractor<CassandraRequest, ExecutionInfo> {
@Override
public void onStart(AttributesBuilder attributes, Context context, CassandraRequest request) {}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@
import com.google.auto.value.AutoValue;

@AutoValue
public abstract class CassandraRequest {
abstract class CassandraRequest {

public static CassandraRequest create(
Session session, String queryText, boolean parameterizedQuery) {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@
import io.opentelemetry.instrumentation.api.instrumenter.SpanKindExtractor;

@SuppressWarnings("deprecation") // using deprecated semconv
public class CassandraSingletons {
class CassandraSingletons {
private static final String INSTRUMENTATION_NAME = "io.opentelemetry.cassandra-3.0";

// could use RESPONSE "ResultSet" here, but using RESPONSE "ExecutionInfo" in cassandra-4.0
Expand All @@ -43,7 +43,7 @@ public class CassandraSingletons {
.buildInstrumenter(SpanKindExtractor.alwaysClient());
}

public static Instrumenter<CassandraRequest, ExecutionInfo> instrumenter() {
static Instrumenter<CassandraRequest, ExecutionInfo> instrumenter() {
return instrumenter;
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -28,6 +28,7 @@
import com.datastax.driver.core.ResultSetFuture;
import com.datastax.driver.core.Session;
import io.opentelemetry.api.trace.SpanKind;
import io.opentelemetry.instrumentation.testing.internal.AutoCleanupExtension;
import io.opentelemetry.instrumentation.testing.junit.AgentInstrumentationExtension;
import io.opentelemetry.instrumentation.testing.junit.InstrumentationExtension;
import java.net.InetAddress;
Expand All @@ -36,9 +37,7 @@
import java.time.Duration;
import java.util.concurrent.ExecutorService;
import java.util.concurrent.Executors;
import java.util.concurrent.atomic.AtomicBoolean;
import java.util.stream.Stream;
import org.junit.jupiter.api.AfterAll;
import org.junit.jupiter.api.BeforeAll;
import org.junit.jupiter.api.Test;
import org.junit.jupiter.api.extension.RegisterExtension;
Expand All @@ -60,6 +59,8 @@ class CassandraClientTest {
@RegisterExtension
static final InstrumentationExtension testing = AgentInstrumentationExtension.create();

@RegisterExtension static final AutoCleanupExtension cleanup = AutoCleanupExtension.create();

private static GenericContainer<?> cassandra;

private static String cassandraHost;
Expand All @@ -76,6 +77,7 @@ static void beforeAll() throws UnknownHostException {
.withExposedPorts(9042)
.withLogConsumer(new Slf4jLogConsumer(logger))
.withStartupTimeout(Duration.ofMinutes(2));
cleanup.deferAfterAll(cassandra::stop);
cassandra.start();

cassandraHost = cassandra.getHost();
Expand All @@ -85,19 +87,15 @@ static void beforeAll() throws UnknownHostException {
Cluster.builder()
.addContactPointsWithPorts(new InetSocketAddress(cassandra.getHost(), cassandraPort))
.build();
}

@AfterAll
static void afterAll() {
cluster.close();
cassandra.stop();
executor.shutdownNow();
cleanup.deferAfterAll(cluster);
cleanup.deferAfterAll(() -> executor.shutdownNow());
}

@ParameterizedTest(name = "{index}: {0}")
@MethodSource("provideSyncParameters")
void syncTest(Parameter parameter) {
Session session = cluster.connect(parameter.keyspace);
cleanup.deferCleanup(session);

session.execute(parameter.queryText);

Expand Down Expand Up @@ -175,24 +173,19 @@ void syncTest(Parameter parameter) {
maybeStable(DB_CASSANDRA_TABLE),
emitStableDatabaseSemconv() ? null : parameter.table))));
}

session.close();
}

@ParameterizedTest(name = "{index}: {0}")
@MethodSource("provideAsyncParameters")
void asyncTest(Parameter parameter) {
@SuppressWarnings("WriteOnlyObject")
AtomicBoolean callbackExecuted = new AtomicBoolean();
Session session = cluster.connect(parameter.keyspace);
cleanup.deferCleanup(session);

testing.runWithSpan(
"parent",
() -> {
ResultSetFuture future = session.executeAsync(parameter.queryText);
future.addListener(
() -> testing.runWithSpan("callbackListener", () -> callbackExecuted.set(true)),
executor);
future.addListener(() -> testing.runWithSpan("callbackListener", () -> {}), executor);
});

if (parameter.keyspace != null) {
Expand Down Expand Up @@ -279,13 +272,12 @@ void asyncTest(Parameter parameter) {
.hasKind(SpanKind.INTERNAL)
.hasParent(trace.getSpan(0))));
}

session.close();
}

@Test
void testMetrics() {
Session session = cluster.connect();
cleanup.deferCleanup(session);

session.execute("DROP KEYSPACE IF EXISTS non_existent");

Expand All @@ -298,8 +290,6 @@ void testMetrics() {
NETWORK_PEER_PORT,
SERVER_ADDRESS,
SERVER_PORT);

session.close();
}

private static Stream<Arguments> provideSyncParameters() {
Expand Down
Loading