Skip to content

Commit a231cec

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

7 files changed

Lines changed: 13 additions & 24 deletions

File tree

instrumentation-api-incubator/src/main/java/io/opentelemetry/instrumentation/api/incubator/semconv/rpc/RpcClientMetrics.java

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -122,7 +122,9 @@ public void onEnd(Context context, Attributes endAttributes, long endNanos) {
122122
// Record to old histogram (milliseconds)
123123
if (oldClientDurationHistogram != null) {
124124
oldClientDurationHistogram.record(
125-
durationNanos / NANOS_PER_MS, SemconvStability.getOldRpcAttributes(attributes), context);
125+
durationNanos / NANOS_PER_MS,
126+
SemconvStability.getOldRpcMetricAttributes(attributes),
127+
context);
126128
}
127129

128130
// Record to stable histogram (seconds)

instrumentation-api-incubator/src/main/java/io/opentelemetry/instrumentation/api/incubator/semconv/rpc/RpcCommonAttributesExtractor.java

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -52,10 +52,6 @@ public final void onStart(AttributesBuilder attributes, Context parentContext, R
5252
internalSet(attributes, RPC_SERVICE, getter.getService(request));
5353
internalSet(
5454
attributes, SemconvStability.getOldRpcMethodAttributeKey(), getter.getMethod(request));
55-
if (!SemconvStability.emitStableRpcSemconv()) {
56-
// only set old rpc.method if stable not emitted to avoid duplication
57-
internalSet(attributes, RPC_METHOD, getter.getMethod(request));
58-
}
5955
}
6056
}
6157

instrumentation-api-incubator/src/main/java/io/opentelemetry/instrumentation/api/incubator/semconv/rpc/RpcMetricsAdvice.java

Lines changed: 1 addition & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -48,14 +48,7 @@ private static List<AttributeKey<?>> buildAttributeKeysList(boolean stable) {
4848
keys.add(RpcCommonAttributesExtractor.RPC_SERVICE);
4949
}
5050

51-
// Add RPC method key
52-
if (stable) {
53-
// Stable uses rpc.method with full format
54-
keys.add(RpcCommonAttributesExtractor.RPC_METHOD);
55-
} else {
56-
// Old uses rpc.method.deprecated in dup mode, or rpc.method in old-only mode
57-
keys.add(SemconvStability.getOldRpcMethodAttributeKey());
58-
}
51+
keys.add(RpcCommonAttributesExtractor.RPC_METHOD);
5952

6053
// Add status code key
6154
if (SemconvStability.emitStableRpcSemconv()) {

instrumentation-api-incubator/src/main/java/io/opentelemetry/instrumentation/api/incubator/semconv/rpc/RpcServerMetrics.java

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -122,7 +122,9 @@ public void onEnd(Context context, Attributes endAttributes, long endNanos) {
122122
// Record to old histogram (milliseconds)
123123
if (oldServerDurationHistogram != null) {
124124
oldServerDurationHistogram.record(
125-
durationNanos / NANOS_PER_MS, SemconvStability.getOldRpcAttributes(attributes), context);
125+
durationNanos / NANOS_PER_MS,
126+
SemconvStability.getOldRpcMetricAttributes(attributes),
127+
context);
126128
}
127129

128130
// Record to stable histogram (seconds)

instrumentation-api/src/main/java/io/opentelemetry/instrumentation/api/internal/SemconvStability.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -166,7 +166,7 @@ public static AttributeKey<String> getOldRpcMethodAttributeKey() {
166166

167167
private SemconvStability() {}
168168

169-
public static Attributes getOldRpcAttributes(Attributes attributes) {
169+
public static Attributes getOldRpcMetricAttributes(Attributes attributes) {
170170
if (emitStableRpcSemconv()) {
171171
// need to copy attributes
172172
return attributes.toBuilder().put(RPC_METHOD, attributes.get(RPC_METHOD_OLD)).build();

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

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,7 @@
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;
2122
import static io.opentelemetry.semconv.incubating.RpcIncubatingAttributes.RPC_SERVICE;
2223
import static java.util.Arrays.asList;
2324
import static org.assertj.core.api.Assertions.assertThat;
@@ -69,7 +70,6 @@ static void cleanUp() {
6970
server.stop();
7071
}
7172

72-
@SuppressWarnings("deprecation") // uses deprecated semconv
7373
public void assertRequestWithMockedResponse(
7474
Object response,
7575
Object client,
@@ -110,8 +110,7 @@ public void assertRequestWithMockedResponse(
110110
// "AmazonDynamoDBv2"
111111
if (SemconvStability.emitOldRpcSemconv()) {
112112
attributes.add(satisfies(RPC_SERVICE, v -> v.contains(service)));
113-
attributes.add(
114-
equalTo(SemconvStability.getOldRpcMethodAttributeKey(), operation));
113+
attributes.add(equalTo(RPC_METHOD, operation));
115114
}
116115

117116
// For stable semconv, use rpcMethodAssertions directly (no partial matching

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

Lines changed: 3 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -40,15 +40,12 @@ private RpcSemconvStabilityUtil() {}
4040
public static List<AttributeAssertion> rpcMethodAssertions(String service, String method) {
4141
List<AttributeAssertion> assertions = new ArrayList<>();
4242

43-
if (SemconvStability.emitStableRpcSemconv()) {
44-
assertions.add(equalTo(RPC_METHOD, service + "/" + method));
45-
}
43+
assertions.add(
44+
equalTo(
45+
RPC_METHOD, SemconvStability.emitStableRpcSemconv() ? service + "/" + method : method));
4646

4747
if (SemconvStability.emitOldRpcSemconv()) {
48-
// Old: rpc.service = "my.Service", rpc.method.deprecated = "Method" (in dup mode)
49-
// or rpc.method = "Method" (in old-only mode)
5048
assertions.add(equalTo(RPC_SERVICE, service));
51-
assertions.add(equalTo(SemconvStability.getOldRpcMethodAttributeKey(), method));
5249
}
5350

5451
return assertions;

0 commit comments

Comments
 (0)