Skip to content

Commit 17d9ec9

Browse files
committed
start converting
1 parent ce01f00 commit 17d9ec9

File tree

11 files changed

+1078
-718
lines changed

11 files changed

+1078
-718
lines changed
Lines changed: 29 additions & 27 deletions
Original file line numberDiff line numberDiff line change
@@ -1,27 +1,29 @@
1-
/*
2-
* Copyright The OpenTelemetry Authors
3-
* SPDX-License-Identifier: Apache-2.0
4-
*/
5-
6-
import io.opentelemetry.instrumentation.awssdk.v2_2.AbstractAws2SqsSuppressReceiveSpansTest
7-
import io.opentelemetry.instrumentation.test.AgentTestTrait
8-
import software.amazon.awssdk.core.client.config.ClientOverrideConfiguration
9-
import software.amazon.awssdk.services.sqs.SqsAsyncClient
10-
import software.amazon.awssdk.services.sqs.SqsClient
11-
12-
class Aws2SqsSuppressReceiveSpansTest extends AbstractAws2SqsSuppressReceiveSpansTest implements AgentTestTrait {
13-
@Override
14-
ClientOverrideConfiguration.Builder createOverrideConfigurationBuilder() {
15-
return ClientOverrideConfiguration.builder()
16-
}
17-
18-
@Override
19-
SqsClient configureSqsClient(SqsClient sqsClient) {
20-
return sqsClient
21-
}
22-
23-
@Override
24-
SqsAsyncClient configureSqsClient(SqsAsyncClient sqsClient) {
25-
return sqsClient
26-
}
27-
}
1+
///*
2+
// * Copyright The OpenTelemetry Authors
3+
// * SPDX-License-Identifier: Apache-2.0
4+
// */
5+
//
6+
//import io.opentelemetry.instrumentation.awssdk.v2_2.AbstractAws2SqsSuppressReceiveSpansTest
7+
//import io.opentelemetry.instrumentation.test.AgentTestTrait
8+
//import software.amazon.awssdk.core.client.config.ClientOverrideConfiguration
9+
//import software.amazon.awssdk.services.sqs.SqsAsyncClient
10+
//import software.amazon.awssdk.services.sqs.SqsClient
11+
//
12+
//class Aws2SqsSuppressReceiveSpansTest extends AbstractAws2SqsSuppressReceiveSpansTest implements AgentTestTrait {
13+
//
14+
//
15+
// @Override
16+
// ClientOverrideConfiguration.Builder createOverrideConfigurationBuilder() {
17+
// return ClientOverrideConfiguration.builder()
18+
// }
19+
//
20+
// @Override
21+
// SqsClient configureSqsClient(SqsClient sqsClient) {
22+
// return sqsClient
23+
// }
24+
//
25+
// @Override
26+
// SqsAsyncClient configureSqsClient(SqsAsyncClient sqsClient) {
27+
// return sqsClient
28+
// }
29+
//}
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,35 @@
1+
package io.opentelemetry.javaagent.instrumentation.awssdk.v2_2;
2+
3+
import io.opentelemetry.instrumentation.awssdk.v2_2.AbstractAws2SqsSuppressReceiveSpansTest;
4+
import io.opentelemetry.instrumentation.testing.junit.AgentInstrumentationExtension;
5+
import io.opentelemetry.instrumentation.testing.junit.InstrumentationExtension;
6+
import org.junit.jupiter.api.extension.RegisterExtension;
7+
import software.amazon.awssdk.core.client.config.ClientOverrideConfiguration;
8+
import software.amazon.awssdk.services.sqs.SqsAsyncClient;
9+
import software.amazon.awssdk.services.sqs.SqsClient;
10+
11+
class Aws2SqsSuppressReceiveSpansTest extends AbstractAws2SqsSuppressReceiveSpansTest {
12+
13+
@RegisterExtension
14+
static final InstrumentationExtension testing = AgentInstrumentationExtension.create();
15+
16+
@Override
17+
protected InstrumentationExtension getTesting() {
18+
return testing;
19+
}
20+
21+
@Override
22+
protected SqsClient configureSqsClient(SqsClient sqsClient) {
23+
return sqsClient;
24+
}
25+
26+
@Override
27+
protected SqsAsyncClient configureSqsClient(SqsAsyncClient sqsClient) {
28+
return sqsClient;
29+
}
30+
31+
@Override
32+
protected ClientOverrideConfiguration.Builder createOverrideConfigurationBuilder() {
33+
return ClientOverrideConfiguration.builder();
34+
}
35+
}

instrumentation/aws-sdk/aws-sdk-2.2/library/src/test/groovy/io/opentelemetry/instrumentation/awssdk/v2_2/Aws2SqsSuppressReceiveSpansTest.groovy

Lines changed: 0 additions & 109 deletions
This file was deleted.
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,50 @@
1+
package io.opentelemetry.instrumentation.awssdk.v2_2;
2+
3+
import org.junit.jupiter.api.BeforeAll;
4+
import org.junit.jupiter.api.Test;
5+
import software.amazon.awssdk.core.client.config.ClientOverrideConfiguration;
6+
import software.amazon.awssdk.services.sqs.SqsClient;
7+
import software.amazon.awssdk.services.sqs.SqsClientBuilder;
8+
import software.amazon.awssdk.services.sqs.model.ReceiveMessageResponse;
9+
import java.net.URISyntaxException;
10+
11+
import static org.assertj.core.api.Assertions.assertThat;
12+
13+
class Aws2SqsSuppressReceiveSpansDefaultPropagatorTest extends Aws2SqsSuppressReceiveSpansTest {
14+
15+
@BeforeAll
16+
static void setup() {
17+
AwsSdkTelemetryBuilder telemetryBuilder = AwsSdkTelemetry.builder(testing.getOpenTelemetry())
18+
.setCaptureExperimentalSpanAttributes(true);
19+
configure(telemetryBuilder);
20+
telemetry = telemetryBuilder.build();
21+
}
22+
23+
static void configure(AwsSdkTelemetryBuilder telemetryBuilder) {}
24+
25+
@Override
26+
boolean isSqsAttributeInjectionEnabled() {
27+
return false;
28+
}
29+
30+
@Test
31+
void testDuplicateTracingInterceptor() throws URISyntaxException {
32+
SqsClientBuilder builder = SqsClient.builder();
33+
configureSdkClient(builder);
34+
ClientOverrideConfiguration overrideConfiguration = ClientOverrideConfiguration.builder()
35+
.addExecutionInterceptor(telemetry.newExecutionInterceptor())
36+
.addExecutionInterceptor(telemetry.newExecutionInterceptor())
37+
.build();
38+
builder.overrideConfiguration(overrideConfiguration);
39+
SqsClient client = configureSqsClient(builder.build());
40+
41+
client.createQueue(createQueueRequest);
42+
client.sendMessage(sendMessageRequest);
43+
ReceiveMessageResponse response = client.receiveMessage(receiveMessageRequest);
44+
45+
assertThat(response.messages().size()).isEqualTo(1);
46+
response.messages().forEach(message -> getTesting().runWithSpan("process child", () -> {}));
47+
48+
assertSqsTraces(true, false);
49+
}
50+
}
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,37 @@
1+
package io.opentelemetry.instrumentation.awssdk.v2_2;
2+
3+
import io.opentelemetry.instrumentation.testing.junit.InstrumentationExtension;
4+
import io.opentelemetry.instrumentation.testing.junit.LibraryInstrumentationExtension;
5+
import org.junit.jupiter.api.extension.RegisterExtension;
6+
import software.amazon.awssdk.core.client.config.ClientOverrideConfiguration;
7+
import software.amazon.awssdk.services.sqs.SqsAsyncClient;
8+
import software.amazon.awssdk.services.sqs.SqsClient;
9+
10+
public abstract class Aws2SqsSuppressReceiveSpansTest extends AbstractAws2SqsSuppressReceiveSpansTest {
11+
@RegisterExtension
12+
static final InstrumentationExtension testing = LibraryInstrumentationExtension.create();
13+
14+
@Override
15+
protected InstrumentationExtension getTesting() {
16+
return testing;
17+
}
18+
19+
protected static AwsSdkTelemetry telemetry;
20+
21+
@Override
22+
protected ClientOverrideConfiguration.Builder createOverrideConfigurationBuilder() {
23+
return ClientOverrideConfiguration.builder()
24+
.addExecutionInterceptor(
25+
telemetry.newExecutionInterceptor());
26+
}
27+
28+
@Override
29+
protected SqsClient configureSqsClient(SqsClient sqsClient) {
30+
return telemetry.wrap(sqsClient);
31+
}
32+
33+
@Override
34+
protected SqsAsyncClient configureSqsClient(SqsAsyncClient sqsClient) {
35+
return telemetry.wrap(sqsClient);
36+
}
37+
}
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,24 @@
1+
package io.opentelemetry.instrumentation.awssdk.v2_2;
2+
3+
import org.junit.jupiter.api.BeforeAll;
4+
5+
/** We want to test the combination of W3C + Xray, as that's what you'll get in prod if you enable W3C. */
6+
class Aws2SqsSuppressReceiveSpansW3CPropagatorAndXrayPropagatorTest extends Aws2SqsSuppressReceiveSpansTest {
7+
8+
@BeforeAll
9+
static void setup() {
10+
AwsSdkTelemetryBuilder telemetryBuilder = AwsSdkTelemetry.builder(testing.getOpenTelemetry())
11+
.setCaptureExperimentalSpanAttributes(true);
12+
configure(telemetryBuilder);
13+
telemetry = telemetryBuilder.build();
14+
}
15+
16+
static void configure(AwsSdkTelemetryBuilder telemetryBuilder) {
17+
telemetryBuilder.setUseConfiguredPropagatorForMessaging(isSqsAttributeInjectionEnabled()); // Difference to main test
18+
}
19+
20+
@Override
21+
boolean isSqsAttributeInjectionEnabled() {
22+
return true;
23+
}
24+
}
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
1+
package io.opentelemetry.instrumentation.awssdk.v2_2;
2+
3+
class Aws2SqsSuppressReceiveSpansW3CPropagatorTest extends Aws2SqsSuppressReceiveSpansTest {
4+
@Override
5+
void configure(AwsSdkTelemetryBuilder telemetryBuilder) {
6+
telemetryBuilder.setUseConfiguredPropagatorForMessaging(isSqsAttributeInjectionEnabled()) // Difference to main test
7+
.setUseXrayPropagator(isXrayInjectionEnabled()); // Disable to confirm messaging propagator actually works
8+
}
9+
10+
@Override
11+
boolean isSqsAttributeInjectionEnabled() {
12+
return true;
13+
}
14+
15+
@Override
16+
boolean isXrayInjectionEnabled() {
17+
return false;
18+
}
19+
}

0 commit comments

Comments
 (0)