Skip to content

Commit 9582580

Browse files
committed
old method attribute should never be telemetry data
1 parent a231cec commit 9582580

2 files changed

Lines changed: 17 additions & 17 deletions

File tree

instrumentation/aws-sdk/aws-sdk-1.11/testing/src/main/java/io/opentelemetry/instrumentation/awssdk/v1_11/AbstractBaseAwsClientTest.java

Lines changed: 2 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@
88
import static io.opentelemetry.api.common.AttributeKey.stringKey;
99
import static io.opentelemetry.api.trace.SpanKind.CLIENT;
1010
import static io.opentelemetry.api.trace.SpanKind.PRODUCER;
11-
import static io.opentelemetry.instrumentation.testing.junit.rpc.RpcSemconvStabilityUtil.rpcMethodAssertions;
11+
import static io.opentelemetry.instrumentation.testing.junit.rpc.RpcSemconvStabilityUtil.rpcMethodContainsAssertions;
1212
import static io.opentelemetry.instrumentation.testing.junit.rpc.RpcSemconvStabilityUtil.rpcSystemAssertion;
1313
import static io.opentelemetry.sdk.testing.assertj.OpenTelemetryAssertions.equalTo;
1414
import static io.opentelemetry.sdk.testing.assertj.OpenTelemetryAssertions.satisfies;
@@ -18,8 +18,6 @@
1818
import static io.opentelemetry.semconv.ServerAttributes.SERVER_ADDRESS;
1919
import static io.opentelemetry.semconv.ServerAttributes.SERVER_PORT;
2020
import static io.opentelemetry.semconv.UrlAttributes.URL_FULL;
21-
import static io.opentelemetry.semconv.incubating.RpcIncubatingAttributes.RPC_METHOD;
22-
import static io.opentelemetry.semconv.incubating.RpcIncubatingAttributes.RPC_SERVICE;
2321
import static java.util.Arrays.asList;
2422
import static org.assertj.core.api.Assertions.assertThat;
2523

@@ -29,7 +27,6 @@
2927
import com.amazonaws.auth.AnonymousAWSCredentials;
3028
import com.amazonaws.client.builder.AwsClientBuilder;
3129
import com.amazonaws.handlers.RequestHandler2;
32-
import io.opentelemetry.instrumentation.api.internal.SemconvStability;
3330
import io.opentelemetry.instrumentation.testing.junit.InstrumentationExtension;
3431
import io.opentelemetry.sdk.testing.assertj.AttributeAssertion;
3532
import io.opentelemetry.testing.internal.armeria.testing.junit5.server.mock.MockWebServerExtension;
@@ -105,19 +102,7 @@ public void assertRequestWithMockedResponse(
105102
rpcSystemAssertion("aws-api"),
106103
equalTo(stringKey("aws.agent"), "java-aws-sdk")));
107104

108-
// For old/incubating semconv, use satisfies with contains for rpc.service
109-
// since tests pass short names like "DynamoDBv2" but AWS SDK returns
110-
// "AmazonDynamoDBv2"
111-
if (SemconvStability.emitOldRpcSemconv()) {
112-
attributes.add(satisfies(RPC_SERVICE, v -> v.contains(service)));
113-
attributes.add(equalTo(RPC_METHOD, operation));
114-
}
115-
116-
// For stable semconv, use rpcMethodAssertions directly (no partial matching
117-
// needed)
118-
if (SemconvStability.emitStableRpcSemconv()) {
119-
attributes.addAll(rpcMethodAssertions(service, operation));
120-
}
105+
attributes.addAll(rpcMethodContainsAssertions(service, operation));
121106

122107
if (hasRequestId()) {
123108
attributes.add(

testing-common/src/main/java/io/opentelemetry/instrumentation/testing/junit/rpc/RpcSemconvStabilityUtil.java

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@
66
package io.opentelemetry.instrumentation.testing.junit.rpc;
77

88
import static io.opentelemetry.sdk.testing.assertj.OpenTelemetryAssertions.equalTo;
9+
import static io.opentelemetry.sdk.testing.assertj.OpenTelemetryAssertions.satisfies;
910
import static io.opentelemetry.semconv.incubating.RpcIncubatingAttributes.RPC_SERVICE;
1011
import static io.opentelemetry.semconv.incubating.RpcIncubatingAttributes.RPC_SYSTEM;
1112

@@ -51,6 +52,20 @@ public static List<AttributeAssertion> rpcMethodAssertions(String service, Strin
5152
return assertions;
5253
}
5354

55+
public static List<AttributeAssertion> rpcMethodContainsAssertions(
56+
String service, String method) {
57+
List<AttributeAssertion> assertions = new ArrayList<>();
58+
59+
if (SemconvStability.emitStableRpcSemconv()) {
60+
assertions.add(satisfies(RPC_METHOD, v -> v.contains(service + "/" + method)));
61+
} else {
62+
assertions.add(equalTo(RPC_METHOD, method));
63+
assertions.add(satisfies(RPC_SERVICE, v -> v.contains(service)));
64+
}
65+
66+
return assertions;
67+
}
68+
5469
/**
5570
* Returns RPC system attribute assertion that works for both old and stable semconv.
5671
*

0 commit comments

Comments
 (0)