From fc457bcfadec72e105c43f64dc136d8679d483f6 Mon Sep 17 00:00:00 2001 From: Sylvain Juge <763082+SylvainJuge@users.noreply.github.com> Date: Wed, 11 Jun 2025 10:57:08 +0200 Subject: [PATCH 1/5] remove deprecated semconv warnings --- .../instrumentation/awssdk/v2_2/AbstractAws2ClientCoreTest.java | 1 + .../testing/junit/db/DbClientMetricsTestUtil.java | 1 + 2 files changed, 2 insertions(+) diff --git a/instrumentation/aws-sdk/aws-sdk-2.2/testing/src/main/java/io/opentelemetry/instrumentation/awssdk/v2_2/AbstractAws2ClientCoreTest.java b/instrumentation/aws-sdk/aws-sdk-2.2/testing/src/main/java/io/opentelemetry/instrumentation/awssdk/v2_2/AbstractAws2ClientCoreTest.java index c6cde851deb8..8eaed80ce6c6 100644 --- a/instrumentation/aws-sdk/aws-sdk-2.2/testing/src/main/java/io/opentelemetry/instrumentation/awssdk/v2_2/AbstractAws2ClientCoreTest.java +++ b/instrumentation/aws-sdk/aws-sdk-2.2/testing/src/main/java/io/opentelemetry/instrumentation/awssdk/v2_2/AbstractAws2ClientCoreTest.java @@ -104,6 +104,7 @@ void prepTest() { server.beforeTestExecution(null); } + @SuppressWarnings("deprecation") // using deprecated semconv private void validateOperationResponse(String operation, Object response) { assertThat(response).isNotNull(); assertThat(response.getClass().getSimpleName()).startsWith(operation); diff --git a/testing-common/src/main/java/io/opentelemetry/instrumentation/testing/junit/db/DbClientMetricsTestUtil.java b/testing-common/src/main/java/io/opentelemetry/instrumentation/testing/junit/db/DbClientMetricsTestUtil.java index ba8c8843d1c3..4dafeeca3567 100644 --- a/testing-common/src/main/java/io/opentelemetry/instrumentation/testing/junit/db/DbClientMetricsTestUtil.java +++ b/testing-common/src/main/java/io/opentelemetry/instrumentation/testing/junit/db/DbClientMetricsTestUtil.java @@ -16,6 +16,7 @@ public class DbClientMetricsTestUtil { private DbClientMetricsTestUtil() {} + @SuppressWarnings("deprecation") // using deprecated db semconv public static void assertDurationMetric( InstrumentationExtension testing, String instrumentationName, From 3609e6d9c87b73f12c731198fa90d085679b3fca Mon Sep 17 00:00:00 2001 From: Sylvain Juge <763082+SylvainJuge@users.noreply.github.com> Date: Wed, 11 Jun 2025 11:39:37 +0200 Subject: [PATCH 2/5] add missing annotations --- .../instrumentation/clickhouse/ClickHouseClientTest.java | 1 + 1 file changed, 1 insertion(+) diff --git a/instrumentation/clickhouse-client-0.5/javaagent/src/test/java/io/opentelemetry/javaagent/instrumentation/clickhouse/ClickHouseClientTest.java b/instrumentation/clickhouse-client-0.5/javaagent/src/test/java/io/opentelemetry/javaagent/instrumentation/clickhouse/ClickHouseClientTest.java index 6df88cf73d60..0549a5335874 100644 --- a/instrumentation/clickhouse-client-0.5/javaagent/src/test/java/io/opentelemetry/javaagent/instrumentation/clickhouse/ClickHouseClientTest.java +++ b/instrumentation/clickhouse-client-0.5/javaagent/src/test/java/io/opentelemetry/javaagent/instrumentation/clickhouse/ClickHouseClientTest.java @@ -185,6 +185,7 @@ void testExecuteAndWaitWithStringQueryAndId() throws ClickHouseException { } @Test + @SuppressWarnings("deprecation") // using deprecated semconv void testExecuteAndWaitThrowsException() { Throwable thrown = catchThrowable( From 9b8732fc7d60f4360aa34baab2e669dae4a95d48 Mon Sep 17 00:00:00 2001 From: Sylvain Juge <763082+SylvainJuge@users.noreply.github.com> Date: Wed, 11 Jun 2025 13:58:09 +0200 Subject: [PATCH 3/5] migrate to stable semconv when we can --- .../db/DbClientAttributesExtractorTest.java | 17 ++-- .../db/SqlClientAttributesExtractorTest.java | 97 ++++++++++--------- .../v1_11/AbstractDynamoDbClientTest.java | 4 +- .../v2_2/AbstractAws2ClientCoreTest.java | 5 +- .../decorators/DbSpanDecorator.java | 7 +- .../clickhouse/ClickHouseClientTest.java | 3 +- .../jdbc/test/JdbcInstrumentationTest.java | 10 +- .../jdbc/datasource/JdbcTelemetryTest.java | 12 +-- .../jedis/v3_0/Jedis30ClientTest.java | 4 +- .../LettuceConnectAttributesExtractor.java | 6 +- .../LettuceConnectAttributesExtractor.java | 6 +- .../v5_1/AbstractLettuceClientTest.java | 2 +- .../v5_1/AbstractLettuceSyncClientTest.java | 4 +- .../v4_0/redis/VertxRedisClientTest.java | 8 +- .../junit/db/DbClientMetricsTestUtil.java | 3 +- .../junit/db/SemconvStabilityUtil.java | 2 +- 16 files changed, 95 insertions(+), 95 deletions(-) diff --git a/instrumentation-api-incubator/src/test/java/io/opentelemetry/instrumentation/api/incubator/semconv/db/DbClientAttributesExtractorTest.java b/instrumentation-api-incubator/src/test/java/io/opentelemetry/instrumentation/api/incubator/semconv/db/DbClientAttributesExtractorTest.java index ec8e7fc373c7..eb69b77c81be 100644 --- a/instrumentation-api-incubator/src/test/java/io/opentelemetry/instrumentation/api/incubator/semconv/db/DbClientAttributesExtractorTest.java +++ b/instrumentation-api-incubator/src/test/java/io/opentelemetry/instrumentation/api/incubator/semconv/db/DbClientAttributesExtractorTest.java @@ -13,6 +13,7 @@ import io.opentelemetry.context.Context; import io.opentelemetry.instrumentation.api.instrumenter.AttributesExtractor; import io.opentelemetry.instrumentation.api.internal.SemconvStability; +import io.opentelemetry.semconv.DbAttributes; import io.opentelemetry.semconv.incubating.DbIncubatingAttributes; import java.util.Collections; import java.util.HashMap; @@ -85,15 +86,15 @@ void shouldExtractAllAvailableAttributes() { assertThat(startAttributes.build()) .containsOnly( entry(DbIncubatingAttributes.DB_SYSTEM, "myDb"), - entry(DbIncubatingAttributes.DB_SYSTEM_NAME, "myDb"), + entry(DbAttributes.DB_SYSTEM_NAME, "myDb"), entry(DbIncubatingAttributes.DB_USER, "username"), entry(DbIncubatingAttributes.DB_NAME, "potatoes"), entry(DbIncubatingAttributes.DB_CONNECTION_STRING, "mydb:///potatoes"), entry(DbIncubatingAttributes.DB_STATEMENT, "SELECT * FROM potato"), entry(DbIncubatingAttributes.DB_OPERATION, "SELECT"), - entry(DbIncubatingAttributes.DB_NAMESPACE, "potatoes"), - entry(DbIncubatingAttributes.DB_QUERY_TEXT, "SELECT * FROM potato"), - entry(DbIncubatingAttributes.DB_OPERATION_NAME, "SELECT")); + entry(DbAttributes.DB_NAMESPACE, "potatoes"), + entry(DbAttributes.DB_QUERY_TEXT, "SELECT * FROM potato"), + entry(DbAttributes.DB_OPERATION_NAME, "SELECT")); } else if (SemconvStability.emitOldDatabaseSemconv()) { assertThat(startAttributes.build()) .containsOnly( @@ -106,10 +107,10 @@ void shouldExtractAllAvailableAttributes() { } else if (SemconvStability.emitStableDatabaseSemconv()) { assertThat(startAttributes.build()) .containsOnly( - entry(DbIncubatingAttributes.DB_SYSTEM_NAME, "myDb"), - entry(DbIncubatingAttributes.DB_NAMESPACE, "potatoes"), - entry(DbIncubatingAttributes.DB_QUERY_TEXT, "SELECT * FROM potato"), - entry(DbIncubatingAttributes.DB_OPERATION_NAME, "SELECT")); + entry(DbAttributes.DB_SYSTEM_NAME, "myDb"), + entry(DbAttributes.DB_NAMESPACE, "potatoes"), + entry(DbAttributes.DB_QUERY_TEXT, "SELECT * FROM potato"), + entry(DbAttributes.DB_OPERATION_NAME, "SELECT")); } assertThat(endAttributes.build().isEmpty()).isTrue(); diff --git a/instrumentation-api-incubator/src/test/java/io/opentelemetry/instrumentation/api/incubator/semconv/db/SqlClientAttributesExtractorTest.java b/instrumentation-api-incubator/src/test/java/io/opentelemetry/instrumentation/api/incubator/semconv/db/SqlClientAttributesExtractorTest.java index a8ae1c806240..9bee323e12dd 100644 --- a/instrumentation-api-incubator/src/test/java/io/opentelemetry/instrumentation/api/incubator/semconv/db/SqlClientAttributesExtractorTest.java +++ b/instrumentation-api-incubator/src/test/java/io/opentelemetry/instrumentation/api/incubator/semconv/db/SqlClientAttributesExtractorTest.java @@ -16,6 +16,7 @@ import io.opentelemetry.context.Context; import io.opentelemetry.instrumentation.api.instrumenter.AttributesExtractor; import io.opentelemetry.instrumentation.api.internal.SemconvStability; +import io.opentelemetry.semconv.DbAttributes; import io.opentelemetry.semconv.incubating.DbIncubatingAttributes; import java.util.Arrays; import java.util.Collection; @@ -118,17 +119,17 @@ void shouldExtractAllAttributes() { assertThat(startAttributes.build()) .containsOnly( entry(DbIncubatingAttributes.DB_SYSTEM, "myDb"), - entry(DbIncubatingAttributes.DB_SYSTEM_NAME, "myDb"), + entry(DbAttributes.DB_SYSTEM_NAME, "myDb"), entry(DbIncubatingAttributes.DB_USER, "username"), entry(DbIncubatingAttributes.DB_NAME, "potatoes"), entry(DbIncubatingAttributes.DB_CONNECTION_STRING, "mydb:///potatoes"), entry(DbIncubatingAttributes.DB_STATEMENT, "SELECT * FROM potato WHERE id=?"), entry(DbIncubatingAttributes.DB_OPERATION, "SELECT"), entry(DbIncubatingAttributes.DB_SQL_TABLE, "potato"), - entry(DbIncubatingAttributes.DB_NAMESPACE, "potatoes"), - entry(DbIncubatingAttributes.DB_QUERY_TEXT, "SELECT * FROM potato WHERE id=?"), - entry(DbIncubatingAttributes.DB_OPERATION_NAME, "SELECT"), - entry(DbIncubatingAttributes.DB_COLLECTION_NAME, "potato")); + entry(DbAttributes.DB_NAMESPACE, "potatoes"), + entry(DbAttributes.DB_QUERY_TEXT, "SELECT * FROM potato WHERE id=?"), + entry(DbAttributes.DB_OPERATION_NAME, "SELECT"), + entry(DbAttributes.DB_COLLECTION_NAME, "potato")); } else if (SemconvStability.emitOldDatabaseSemconv()) { assertThat(startAttributes.build()) .containsOnly( @@ -142,11 +143,11 @@ void shouldExtractAllAttributes() { } else if (SemconvStability.emitStableDatabaseSemconv()) { assertThat(startAttributes.build()) .containsOnly( - entry(DbIncubatingAttributes.DB_SYSTEM_NAME, "myDb"), - entry(DbIncubatingAttributes.DB_NAMESPACE, "potatoes"), - entry(DbIncubatingAttributes.DB_QUERY_TEXT, "SELECT * FROM potato WHERE id=?"), - entry(DbIncubatingAttributes.DB_OPERATION_NAME, "SELECT"), - entry(DbIncubatingAttributes.DB_COLLECTION_NAME, "potato")); + entry(DbAttributes.DB_SYSTEM_NAME, "myDb"), + entry(DbAttributes.DB_NAMESPACE, "potatoes"), + entry(DbAttributes.DB_QUERY_TEXT, "SELECT * FROM potato WHERE id=?"), + entry(DbAttributes.DB_OPERATION_NAME, "SELECT"), + entry(DbAttributes.DB_COLLECTION_NAME, "potato")); } assertThat(endAttributes.build().isEmpty()).isTrue(); @@ -173,8 +174,8 @@ void shouldNotExtractTableIfAttributeIsNotSet() { .containsOnly( entry(DbIncubatingAttributes.DB_STATEMENT, "SELECT *"), entry(DbIncubatingAttributes.DB_OPERATION, "SELECT"), - entry(DbIncubatingAttributes.DB_QUERY_TEXT, "SELECT *"), - entry(DbIncubatingAttributes.DB_OPERATION_NAME, "SELECT")); + entry(DbAttributes.DB_QUERY_TEXT, "SELECT *"), + entry(DbAttributes.DB_OPERATION_NAME, "SELECT")); } else if (SemconvStability.emitOldDatabaseSemconv()) { assertThat(attributes.build()) .containsOnly( @@ -183,8 +184,8 @@ void shouldNotExtractTableIfAttributeIsNotSet() { } else if (SemconvStability.emitStableDatabaseSemconv()) { assertThat(attributes.build()) .containsOnly( - entry(DbIncubatingAttributes.DB_QUERY_TEXT, "SELECT *"), - entry(DbIncubatingAttributes.DB_OPERATION_NAME, "SELECT")); + entry(DbAttributes.DB_QUERY_TEXT, "SELECT *"), + entry(DbAttributes.DB_OPERATION_NAME, "SELECT")); } } @@ -213,9 +214,9 @@ void shouldExtractTableToSpecifiedKey() { entry(DbIncubatingAttributes.DB_STATEMENT, "SELECT * FROM table"), entry(DbIncubatingAttributes.DB_OPERATION, "SELECT"), entry(DbIncubatingAttributes.DB_CASSANDRA_TABLE, "table"), - entry(DbIncubatingAttributes.DB_QUERY_TEXT, "SELECT * FROM table"), - entry(DbIncubatingAttributes.DB_OPERATION_NAME, "SELECT"), - entry(DbIncubatingAttributes.DB_COLLECTION_NAME, "table")); + entry(DbAttributes.DB_QUERY_TEXT, "SELECT * FROM table"), + entry(DbAttributes.DB_OPERATION_NAME, "SELECT"), + entry(DbAttributes.DB_COLLECTION_NAME, "table")); } else if (SemconvStability.emitOldDatabaseSemconv()) { assertThat(attributes.build()) .containsOnly( @@ -225,9 +226,9 @@ void shouldExtractTableToSpecifiedKey() { } else if (SemconvStability.emitStableDatabaseSemconv()) { assertThat(attributes.build()) .containsOnly( - entry(DbIncubatingAttributes.DB_QUERY_TEXT, "SELECT * FROM table"), - entry(DbIncubatingAttributes.DB_OPERATION_NAME, "SELECT"), - entry(DbIncubatingAttributes.DB_COLLECTION_NAME, "table")); + entry(DbAttributes.DB_QUERY_TEXT, "SELECT * FROM table"), + entry(DbAttributes.DB_OPERATION_NAME, "SELECT"), + entry(DbAttributes.DB_COLLECTION_NAME, "table")); } } @@ -273,11 +274,11 @@ void shouldExtractSingleQueryBatchAttributes() { entry(DbIncubatingAttributes.DB_STATEMENT, "INSERT INTO potato VALUES(?)"), entry(DbIncubatingAttributes.DB_OPERATION, "INSERT"), entry(DbIncubatingAttributes.DB_SQL_TABLE, "potato"), - entry(DbIncubatingAttributes.DB_NAMESPACE, "potatoes"), - entry(DbIncubatingAttributes.DB_QUERY_TEXT, "INSERT INTO potato VALUES(?)"), - entry(DbIncubatingAttributes.DB_OPERATION_NAME, "BATCH INSERT"), - entry(DbIncubatingAttributes.DB_COLLECTION_NAME, "potato"), - entry(DbIncubatingAttributes.DB_OPERATION_BATCH_SIZE, 2L)); + entry(DbAttributes.DB_NAMESPACE, "potatoes"), + entry(DbAttributes.DB_QUERY_TEXT, "INSERT INTO potato VALUES(?)"), + entry(DbAttributes.DB_OPERATION_NAME, "BATCH INSERT"), + entry(DbAttributes.DB_COLLECTION_NAME, "potato"), + entry(DbAttributes.DB_OPERATION_BATCH_SIZE, 2L)); } else if (SemconvStability.emitOldDatabaseSemconv()) { assertThat(startAttributes.build()) .containsOnly( @@ -288,11 +289,11 @@ void shouldExtractSingleQueryBatchAttributes() { } else if (SemconvStability.emitStableDatabaseSemconv()) { assertThat(startAttributes.build()) .containsOnly( - entry(DbIncubatingAttributes.DB_NAMESPACE, "potatoes"), - entry(DbIncubatingAttributes.DB_QUERY_TEXT, "INSERT INTO potato VALUES(?)"), - entry(DbIncubatingAttributes.DB_OPERATION_NAME, "BATCH INSERT"), - entry(DbIncubatingAttributes.DB_COLLECTION_NAME, "potato"), - entry(DbIncubatingAttributes.DB_OPERATION_BATCH_SIZE, 2L)); + entry(DbAttributes.DB_NAMESPACE, "potatoes"), + entry(DbAttributes.DB_QUERY_TEXT, "INSERT INTO potato VALUES(?)"), + entry(DbAttributes.DB_OPERATION_NAME, "BATCH INSERT"), + entry(DbAttributes.DB_COLLECTION_NAME, "potato"), + entry(DbAttributes.DB_OPERATION_BATCH_SIZE, 2L)); } assertThat(endAttributes.build().isEmpty()).isTrue(); @@ -325,22 +326,22 @@ void shouldExtractMultiQueryBatchAttributes() { assertThat(startAttributes.build()) .containsOnly( entry(DbIncubatingAttributes.DB_NAME, "potatoes"), - entry(DbIncubatingAttributes.DB_NAMESPACE, "potatoes"), - entry(DbIncubatingAttributes.DB_QUERY_TEXT, "INSERT INTO potato VALUES(?)"), - entry(DbIncubatingAttributes.DB_OPERATION_NAME, "BATCH INSERT"), - entry(DbIncubatingAttributes.DB_COLLECTION_NAME, "potato"), - entry(DbIncubatingAttributes.DB_OPERATION_BATCH_SIZE, 2L)); + entry(DbAttributes.DB_NAMESPACE, "potatoes"), + entry(DbAttributes.DB_QUERY_TEXT, "INSERT INTO potato VALUES(?)"), + entry(DbAttributes.DB_OPERATION_NAME, "BATCH INSERT"), + entry(DbAttributes.DB_COLLECTION_NAME, "potato"), + entry(DbAttributes.DB_OPERATION_BATCH_SIZE, 2L)); } else if (SemconvStability.emitOldDatabaseSemconv()) { assertThat(startAttributes.build()) .containsOnly(entry(DbIncubatingAttributes.DB_NAME, "potatoes")); } else if (SemconvStability.emitStableDatabaseSemconv()) { assertThat(startAttributes.build()) .containsOnly( - entry(DbIncubatingAttributes.DB_NAMESPACE, "potatoes"), - entry(DbIncubatingAttributes.DB_QUERY_TEXT, "INSERT INTO potato VALUES(?)"), - entry(DbIncubatingAttributes.DB_OPERATION_NAME, "BATCH INSERT"), - entry(DbIncubatingAttributes.DB_COLLECTION_NAME, "potato"), - entry(DbIncubatingAttributes.DB_OPERATION_BATCH_SIZE, 2L)); + entry(DbAttributes.DB_NAMESPACE, "potatoes"), + entry(DbAttributes.DB_QUERY_TEXT, "INSERT INTO potato VALUES(?)"), + entry(DbAttributes.DB_OPERATION_NAME, "BATCH INSERT"), + entry(DbAttributes.DB_COLLECTION_NAME, "potato"), + entry(DbAttributes.DB_OPERATION_BATCH_SIZE, 2L)); } assertThat(endAttributes.build().isEmpty()).isTrue(); @@ -374,10 +375,10 @@ void shouldIgnoreBatchSizeOne() { entry(DbIncubatingAttributes.DB_STATEMENT, "INSERT INTO potato VALUES(?)"), entry(DbIncubatingAttributes.DB_OPERATION, "INSERT"), entry(DbIncubatingAttributes.DB_SQL_TABLE, "potato"), - entry(DbIncubatingAttributes.DB_NAMESPACE, "potatoes"), - entry(DbIncubatingAttributes.DB_QUERY_TEXT, "INSERT INTO potato VALUES(?)"), - entry(DbIncubatingAttributes.DB_OPERATION_NAME, "INSERT"), - entry(DbIncubatingAttributes.DB_COLLECTION_NAME, "potato")); + entry(DbAttributes.DB_NAMESPACE, "potatoes"), + entry(DbAttributes.DB_QUERY_TEXT, "INSERT INTO potato VALUES(?)"), + entry(DbAttributes.DB_OPERATION_NAME, "INSERT"), + entry(DbAttributes.DB_COLLECTION_NAME, "potato")); } else if (SemconvStability.emitOldDatabaseSemconv()) { assertThat(startAttributes.build()) .containsOnly( @@ -388,10 +389,10 @@ void shouldIgnoreBatchSizeOne() { } else if (SemconvStability.emitStableDatabaseSemconv()) { assertThat(startAttributes.build()) .containsOnly( - entry(DbIncubatingAttributes.DB_NAMESPACE, "potatoes"), - entry(DbIncubatingAttributes.DB_QUERY_TEXT, "INSERT INTO potato VALUES(?)"), - entry(DbIncubatingAttributes.DB_OPERATION_NAME, "INSERT"), - entry(DbIncubatingAttributes.DB_COLLECTION_NAME, "potato")); + entry(DbAttributes.DB_NAMESPACE, "potatoes"), + entry(DbAttributes.DB_QUERY_TEXT, "INSERT INTO potato VALUES(?)"), + entry(DbAttributes.DB_OPERATION_NAME, "INSERT"), + entry(DbAttributes.DB_COLLECTION_NAME, "potato")); } assertThat(endAttributes.build().isEmpty()).isTrue(); diff --git a/instrumentation/aws-sdk/aws-sdk-1.11/testing/src/main/java/io/opentelemetry/instrumentation/awssdk/v1_11/AbstractDynamoDbClientTest.java b/instrumentation/aws-sdk/aws-sdk-1.11/testing/src/main/java/io/opentelemetry/instrumentation/awssdk/v1_11/AbstractDynamoDbClientTest.java index 6263ed2ff89d..4296100e2eb9 100644 --- a/instrumentation/aws-sdk/aws-sdk-1.11/testing/src/main/java/io/opentelemetry/instrumentation/awssdk/v1_11/AbstractDynamoDbClientTest.java +++ b/instrumentation/aws-sdk/aws-sdk-1.11/testing/src/main/java/io/opentelemetry/instrumentation/awssdk/v1_11/AbstractDynamoDbClientTest.java @@ -9,13 +9,13 @@ import static io.opentelemetry.instrumentation.testing.junit.db.DbClientMetricsTestUtil.assertDurationMetric; import static io.opentelemetry.instrumentation.testing.junit.db.SemconvStabilityUtil.maybeStable; import static io.opentelemetry.sdk.testing.assertj.OpenTelemetryAssertions.equalTo; +import static io.opentelemetry.semconv.DbAttributes.DB_OPERATION_NAME; +import static io.opentelemetry.semconv.DbAttributes.DB_SYSTEM_NAME; import static io.opentelemetry.semconv.ServerAttributes.SERVER_ADDRESS; import static io.opentelemetry.semconv.ServerAttributes.SERVER_PORT; import static io.opentelemetry.semconv.incubating.AwsIncubatingAttributes.AWS_DYNAMODB_TABLE_NAMES; import static io.opentelemetry.semconv.incubating.DbIncubatingAttributes.DB_OPERATION; -import static io.opentelemetry.semconv.incubating.DbIncubatingAttributes.DB_OPERATION_NAME; import static io.opentelemetry.semconv.incubating.DbIncubatingAttributes.DB_SYSTEM; -import static io.opentelemetry.semconv.incubating.DbIncubatingAttributes.DB_SYSTEM_NAME; import static io.opentelemetry.semconv.incubating.DbIncubatingAttributes.DbSystemNameIncubatingValues.AWS_DYNAMODB; import static java.util.Collections.singletonList; diff --git a/instrumentation/aws-sdk/aws-sdk-2.2/testing/src/main/java/io/opentelemetry/instrumentation/awssdk/v2_2/AbstractAws2ClientCoreTest.java b/instrumentation/aws-sdk/aws-sdk-2.2/testing/src/main/java/io/opentelemetry/instrumentation/awssdk/v2_2/AbstractAws2ClientCoreTest.java index 8eaed80ce6c6..891188438c5b 100644 --- a/instrumentation/aws-sdk/aws-sdk-2.2/testing/src/main/java/io/opentelemetry/instrumentation/awssdk/v2_2/AbstractAws2ClientCoreTest.java +++ b/instrumentation/aws-sdk/aws-sdk-2.2/testing/src/main/java/io/opentelemetry/instrumentation/awssdk/v2_2/AbstractAws2ClientCoreTest.java @@ -10,6 +10,8 @@ import static io.opentelemetry.instrumentation.testing.junit.db.SemconvStabilityUtil.maybeStable; import static io.opentelemetry.instrumentation.testing.junit.db.SemconvStabilityUtil.maybeStableDbSystemName; import static io.opentelemetry.sdk.testing.assertj.OpenTelemetryAssertions.equalTo; +import static io.opentelemetry.semconv.DbAttributes.DB_OPERATION_NAME; +import static io.opentelemetry.semconv.DbAttributes.DB_SYSTEM_NAME; import static io.opentelemetry.semconv.HttpAttributes.HTTP_REQUEST_METHOD; import static io.opentelemetry.semconv.HttpAttributes.HTTP_RESPONSE_STATUS_CODE; import static io.opentelemetry.semconv.ServerAttributes.SERVER_ADDRESS; @@ -17,9 +19,7 @@ import static io.opentelemetry.semconv.UrlAttributes.URL_FULL; import static io.opentelemetry.semconv.incubating.AwsIncubatingAttributes.AWS_REQUEST_ID; import static io.opentelemetry.semconv.incubating.DbIncubatingAttributes.DB_OPERATION; -import static io.opentelemetry.semconv.incubating.DbIncubatingAttributes.DB_OPERATION_NAME; import static io.opentelemetry.semconv.incubating.DbIncubatingAttributes.DB_SYSTEM; -import static io.opentelemetry.semconv.incubating.DbIncubatingAttributes.DB_SYSTEM_NAME; import static io.opentelemetry.semconv.incubating.RpcIncubatingAttributes.RPC_METHOD; import static io.opentelemetry.semconv.incubating.RpcIncubatingAttributes.RPC_SERVICE; import static io.opentelemetry.semconv.incubating.RpcIncubatingAttributes.RPC_SYSTEM; @@ -104,7 +104,6 @@ void prepTest() { server.beforeTestExecution(null); } - @SuppressWarnings("deprecation") // using deprecated semconv private void validateOperationResponse(String operation, Object response) { assertThat(response).isNotNull(); assertThat(response.getClass().getSimpleName()).startsWith(operation); diff --git a/instrumentation/camel-2.20/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/apachecamel/decorators/DbSpanDecorator.java b/instrumentation/camel-2.20/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/apachecamel/decorators/DbSpanDecorator.java index 421800519c8f..5146ef2d30a8 100644 --- a/instrumentation/camel-2.20/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/apachecamel/decorators/DbSpanDecorator.java +++ b/instrumentation/camel-2.20/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/apachecamel/decorators/DbSpanDecorator.java @@ -28,6 +28,7 @@ import io.opentelemetry.instrumentation.api.internal.SemconvStability; import io.opentelemetry.javaagent.bootstrap.internal.AgentCommonConfig; import io.opentelemetry.javaagent.instrumentation.apachecamel.CamelDirection; +import io.opentelemetry.semconv.DbAttributes; import io.opentelemetry.semconv.incubating.DbIncubatingAttributes; import java.net.URI; import java.util.Map; @@ -125,7 +126,7 @@ public void pre( super.pre(attributes, exchange, endpoint, camelDirection); if (SemconvStability.emitStableDatabaseSemconv()) { - attributes.put(DbIncubatingAttributes.DB_SYSTEM_NAME, system); + attributes.put(DbAttributes.DB_SYSTEM_NAME, system); } if (SemconvStability.emitOldDatabaseSemconv()) { attributes.put(DbIncubatingAttributes.DB_SYSTEM, system); @@ -133,7 +134,7 @@ public void pre( String statement = getStatement(exchange, endpoint); if (statement != null) { if (SemconvStability.emitStableDatabaseSemconv()) { - attributes.put(DbIncubatingAttributes.DB_QUERY_TEXT, statement); + attributes.put(DbAttributes.DB_QUERY_TEXT, statement); } if (SemconvStability.emitOldDatabaseSemconv()) { attributes.put(DbIncubatingAttributes.DB_STATEMENT, statement); @@ -142,7 +143,7 @@ public void pre( String dbName = getDbName(endpoint); if (dbName != null) { if (SemconvStability.emitStableDatabaseSemconv()) { - attributes.put(DbIncubatingAttributes.DB_NAMESPACE, dbName); + attributes.put(DbAttributes.DB_NAMESPACE, dbName); } if (SemconvStability.emitOldDatabaseSemconv()) { attributes.put(DbIncubatingAttributes.DB_NAME, dbName); diff --git a/instrumentation/clickhouse-client-0.5/javaagent/src/test/java/io/opentelemetry/javaagent/instrumentation/clickhouse/ClickHouseClientTest.java b/instrumentation/clickhouse-client-0.5/javaagent/src/test/java/io/opentelemetry/javaagent/instrumentation/clickhouse/ClickHouseClientTest.java index 0549a5335874..deb9fcda73c2 100644 --- a/instrumentation/clickhouse-client-0.5/javaagent/src/test/java/io/opentelemetry/javaagent/instrumentation/clickhouse/ClickHouseClientTest.java +++ b/instrumentation/clickhouse-client-0.5/javaagent/src/test/java/io/opentelemetry/javaagent/instrumentation/clickhouse/ClickHouseClientTest.java @@ -7,12 +7,12 @@ import static io.opentelemetry.instrumentation.testing.junit.db.SemconvStabilityUtil.maybeStable; import static io.opentelemetry.sdk.testing.assertj.OpenTelemetryAssertions.equalTo; +import static io.opentelemetry.semconv.DbAttributes.DB_RESPONSE_STATUS_CODE; import static io.opentelemetry.semconv.ErrorAttributes.ERROR_TYPE; import static io.opentelemetry.semconv.ServerAttributes.SERVER_ADDRESS; import static io.opentelemetry.semconv.ServerAttributes.SERVER_PORT; import static io.opentelemetry.semconv.incubating.DbIncubatingAttributes.DB_NAME; import static io.opentelemetry.semconv.incubating.DbIncubatingAttributes.DB_OPERATION; -import static io.opentelemetry.semconv.incubating.DbIncubatingAttributes.DB_RESPONSE_STATUS_CODE; import static io.opentelemetry.semconv.incubating.DbIncubatingAttributes.DB_STATEMENT; import static io.opentelemetry.semconv.incubating.DbIncubatingAttributes.DB_SYSTEM; import static java.util.Arrays.asList; @@ -185,7 +185,6 @@ void testExecuteAndWaitWithStringQueryAndId() throws ClickHouseException { } @Test - @SuppressWarnings("deprecation") // using deprecated semconv void testExecuteAndWaitThrowsException() { Throwable thrown = catchThrowable( diff --git a/instrumentation/jdbc/javaagent/src/test/java/io/opentelemetry/javaagent/instrumentation/jdbc/test/JdbcInstrumentationTest.java b/instrumentation/jdbc/javaagent/src/test/java/io/opentelemetry/javaagent/instrumentation/jdbc/test/JdbcInstrumentationTest.java index 2050cef44978..ce1597a57b63 100644 --- a/instrumentation/jdbc/javaagent/src/test/java/io/opentelemetry/javaagent/instrumentation/jdbc/test/JdbcInstrumentationTest.java +++ b/instrumentation/jdbc/javaagent/src/test/java/io/opentelemetry/javaagent/instrumentation/jdbc/test/JdbcInstrumentationTest.java @@ -11,18 +11,18 @@ import static io.opentelemetry.instrumentation.testing.junit.db.SemconvStabilityUtil.maybeStableDbSystemName; import static io.opentelemetry.sdk.testing.assertj.OpenTelemetryAssertions.assertThat; import static io.opentelemetry.sdk.testing.assertj.OpenTelemetryAssertions.equalTo; +import static io.opentelemetry.semconv.DbAttributes.DB_COLLECTION_NAME; +import static io.opentelemetry.semconv.DbAttributes.DB_NAMESPACE; +import static io.opentelemetry.semconv.DbAttributes.DB_OPERATION_BATCH_SIZE; +import static io.opentelemetry.semconv.DbAttributes.DB_OPERATION_NAME; +import static io.opentelemetry.semconv.DbAttributes.DB_SYSTEM_NAME; import static io.opentelemetry.semconv.ServerAttributes.SERVER_ADDRESS; -import static io.opentelemetry.semconv.incubating.DbIncubatingAttributes.DB_COLLECTION_NAME; import static io.opentelemetry.semconv.incubating.DbIncubatingAttributes.DB_CONNECTION_STRING; import static io.opentelemetry.semconv.incubating.DbIncubatingAttributes.DB_NAME; -import static io.opentelemetry.semconv.incubating.DbIncubatingAttributes.DB_NAMESPACE; import static io.opentelemetry.semconv.incubating.DbIncubatingAttributes.DB_OPERATION; -import static io.opentelemetry.semconv.incubating.DbIncubatingAttributes.DB_OPERATION_BATCH_SIZE; -import static io.opentelemetry.semconv.incubating.DbIncubatingAttributes.DB_OPERATION_NAME; import static io.opentelemetry.semconv.incubating.DbIncubatingAttributes.DB_SQL_TABLE; import static io.opentelemetry.semconv.incubating.DbIncubatingAttributes.DB_STATEMENT; import static io.opentelemetry.semconv.incubating.DbIncubatingAttributes.DB_SYSTEM; -import static io.opentelemetry.semconv.incubating.DbIncubatingAttributes.DB_SYSTEM_NAME; import static io.opentelemetry.semconv.incubating.DbIncubatingAttributes.DB_USER; import static java.util.Arrays.asList; import static org.junit.jupiter.api.Assumptions.assumeTrue; diff --git a/instrumentation/jdbc/library/src/test/java/io/opentelemetry/instrumentation/jdbc/datasource/JdbcTelemetryTest.java b/instrumentation/jdbc/library/src/test/java/io/opentelemetry/instrumentation/jdbc/datasource/JdbcTelemetryTest.java index 145f8e07df7d..752f8028a9b1 100644 --- a/instrumentation/jdbc/library/src/test/java/io/opentelemetry/instrumentation/jdbc/datasource/JdbcTelemetryTest.java +++ b/instrumentation/jdbc/library/src/test/java/io/opentelemetry/instrumentation/jdbc/datasource/JdbcTelemetryTest.java @@ -8,19 +8,19 @@ import static io.opentelemetry.instrumentation.testing.junit.db.DbClientMetricsTestUtil.assertDurationMetric; import static io.opentelemetry.instrumentation.testing.junit.db.SemconvStabilityUtil.maybeStable; import static io.opentelemetry.sdk.testing.assertj.OpenTelemetryAssertions.equalTo; +import static io.opentelemetry.semconv.DbAttributes.DB_NAMESPACE; +import static io.opentelemetry.semconv.DbAttributes.DB_OPERATION_BATCH_SIZE; +import static io.opentelemetry.semconv.DbAttributes.DB_OPERATION_NAME; +import static io.opentelemetry.semconv.DbAttributes.DB_QUERY_TEXT; +import static io.opentelemetry.semconv.DbAttributes.DB_RESPONSE_STATUS_CODE; +import static io.opentelemetry.semconv.DbAttributes.DB_SYSTEM_NAME; import static io.opentelemetry.semconv.ErrorAttributes.ERROR_TYPE; import static io.opentelemetry.semconv.ServerAttributes.SERVER_ADDRESS; import static io.opentelemetry.semconv.ServerAttributes.SERVER_PORT; import static io.opentelemetry.semconv.incubating.DbIncubatingAttributes.DB_NAME; -import static io.opentelemetry.semconv.incubating.DbIncubatingAttributes.DB_NAMESPACE; import static io.opentelemetry.semconv.incubating.DbIncubatingAttributes.DB_OPERATION; -import static io.opentelemetry.semconv.incubating.DbIncubatingAttributes.DB_OPERATION_BATCH_SIZE; -import static io.opentelemetry.semconv.incubating.DbIncubatingAttributes.DB_OPERATION_NAME; -import static io.opentelemetry.semconv.incubating.DbIncubatingAttributes.DB_QUERY_TEXT; -import static io.opentelemetry.semconv.incubating.DbIncubatingAttributes.DB_RESPONSE_STATUS_CODE; import static io.opentelemetry.semconv.incubating.DbIncubatingAttributes.DB_SQL_TABLE; import static io.opentelemetry.semconv.incubating.DbIncubatingAttributes.DB_STATEMENT; -import static io.opentelemetry.semconv.incubating.DbIncubatingAttributes.DB_SYSTEM_NAME; import static org.assertj.core.api.Assertions.assertThat; import static org.assertj.core.api.Assertions.assertThatCode; import static org.junit.jupiter.api.Assumptions.assumeTrue; diff --git a/instrumentation/jedis/jedis-3.0/javaagent/src/test/java/io/opentelemetry/javaagent/instrumentation/jedis/v3_0/Jedis30ClientTest.java b/instrumentation/jedis/jedis-3.0/javaagent/src/test/java/io/opentelemetry/javaagent/instrumentation/jedis/v3_0/Jedis30ClientTest.java index f8fb3b2d5fdd..cd66b86ca897 100644 --- a/instrumentation/jedis/jedis-3.0/javaagent/src/test/java/io/opentelemetry/javaagent/instrumentation/jedis/v3_0/Jedis30ClientTest.java +++ b/instrumentation/jedis/jedis-3.0/javaagent/src/test/java/io/opentelemetry/javaagent/instrumentation/jedis/v3_0/Jedis30ClientTest.java @@ -9,16 +9,16 @@ import static io.opentelemetry.instrumentation.testing.junit.db.SemconvStabilityUtil.maybeStable; import static io.opentelemetry.sdk.testing.assertj.OpenTelemetryAssertions.equalTo; import static io.opentelemetry.sdk.testing.assertj.OpenTelemetryAssertions.satisfies; +import static io.opentelemetry.semconv.DbAttributes.DB_OPERATION_NAME; +import static io.opentelemetry.semconv.DbAttributes.DB_SYSTEM_NAME; import static io.opentelemetry.semconv.NetworkAttributes.NETWORK_PEER_ADDRESS; import static io.opentelemetry.semconv.NetworkAttributes.NETWORK_PEER_PORT; import static io.opentelemetry.semconv.NetworkAttributes.NETWORK_TYPE; import static io.opentelemetry.semconv.ServerAttributes.SERVER_ADDRESS; import static io.opentelemetry.semconv.ServerAttributes.SERVER_PORT; import static io.opentelemetry.semconv.incubating.DbIncubatingAttributes.DB_OPERATION; -import static io.opentelemetry.semconv.incubating.DbIncubatingAttributes.DB_OPERATION_NAME; import static io.opentelemetry.semconv.incubating.DbIncubatingAttributes.DB_STATEMENT; import static io.opentelemetry.semconv.incubating.DbIncubatingAttributes.DB_SYSTEM; -import static io.opentelemetry.semconv.incubating.DbIncubatingAttributes.DB_SYSTEM_NAME; import static org.assertj.core.api.Assertions.assertThat; import io.opentelemetry.api.trace.SpanKind; diff --git a/instrumentation/lettuce/lettuce-4.0/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/lettuce/v4_0/LettuceConnectAttributesExtractor.java b/instrumentation/lettuce/lettuce-4.0/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/lettuce/v4_0/LettuceConnectAttributesExtractor.java index e54700344b79..de23c06bbd46 100644 --- a/instrumentation/lettuce/lettuce-4.0/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/lettuce/v4_0/LettuceConnectAttributesExtractor.java +++ b/instrumentation/lettuce/lettuce-4.0/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/lettuce/v4_0/LettuceConnectAttributesExtractor.java @@ -10,6 +10,7 @@ import io.opentelemetry.context.Context; import io.opentelemetry.instrumentation.api.instrumenter.AttributesExtractor; import io.opentelemetry.instrumentation.api.internal.SemconvStability; +import io.opentelemetry.semconv.DbAttributes; import io.opentelemetry.semconv.incubating.DbIncubatingAttributes; import javax.annotation.Nullable; @@ -20,8 +21,7 @@ final class LettuceConnectAttributesExtractor implements AttributesExtractor Date: Wed, 11 Jun 2025 14:29:21 +0200 Subject: [PATCH 4/5] remove inlined values --- .../db/DbClientAttributesExtractor.java | 6 ++---- .../db/SqlClientAttributesExtractor.java | 11 ++++------- .../db/SqlClientAttributesExtractorTest.java | 19 ++++++++++--------- .../v1_11/DynamoDbAttributesExtractor.java | 7 +++---- .../internal/DynamoDbAttributesExtractor.java | 7 +++---- .../DataSourceDbAttributesExtractor.java | 5 ++--- .../TransactionAttributeExtractor.java | 3 +-- .../lettuce/v5_1/OpenTelemetryTracing.java | 8 ++++---- .../mongo/v3_1/MongoAttributesExtractor.java | 3 +-- .../junit/db/SemconvStabilityUtil.java | 11 ++++------- 10 files changed, 34 insertions(+), 46 deletions(-) diff --git a/instrumentation-api-incubator/src/main/java/io/opentelemetry/instrumentation/api/incubator/semconv/db/DbClientAttributesExtractor.java b/instrumentation-api-incubator/src/main/java/io/opentelemetry/instrumentation/api/incubator/semconv/db/DbClientAttributesExtractor.java index f7f2231ff1ec..5dd0b0e756f8 100644 --- a/instrumentation-api-incubator/src/main/java/io/opentelemetry/instrumentation/api/incubator/semconv/db/DbClientAttributesExtractor.java +++ b/instrumentation-api-incubator/src/main/java/io/opentelemetry/instrumentation/api/incubator/semconv/db/DbClientAttributesExtractor.java @@ -6,6 +6,8 @@ package io.opentelemetry.instrumentation.api.incubator.semconv.db; import static io.opentelemetry.instrumentation.api.internal.AttributesExtractorUtil.internalSet; +import static io.opentelemetry.semconv.DbAttributes.DB_OPERATION_NAME; +import static io.opentelemetry.semconv.DbAttributes.DB_QUERY_TEXT; import io.opentelemetry.api.common.AttributeKey; import io.opentelemetry.api.common.AttributesBuilder; @@ -27,11 +29,7 @@ public final class DbClientAttributesExtractor // copied from DbIncubatingAttributes private static final AttributeKey DB_STATEMENT = AttributeKey.stringKey("db.statement"); - private static final AttributeKey DB_QUERY_TEXT = AttributeKey.stringKey("db.query.text"); static final AttributeKey DB_OPERATION = AttributeKey.stringKey("db.operation"); - static final AttributeKey DB_OPERATION_NAME = AttributeKey.stringKey("db.operation.name"); - static final AttributeKey DB_RESPONSE_STATUS_CODE = - AttributeKey.stringKey("db.response.status_code"); /** Creates the database client attributes extractor with default configuration. */ public static AttributesExtractor create( diff --git a/instrumentation-api-incubator/src/main/java/io/opentelemetry/instrumentation/api/incubator/semconv/db/SqlClientAttributesExtractor.java b/instrumentation-api-incubator/src/main/java/io/opentelemetry/instrumentation/api/incubator/semconv/db/SqlClientAttributesExtractor.java index ca60e051f4eb..4cb1ae7fc8cc 100644 --- a/instrumentation-api-incubator/src/main/java/io/opentelemetry/instrumentation/api/incubator/semconv/db/SqlClientAttributesExtractor.java +++ b/instrumentation-api-incubator/src/main/java/io/opentelemetry/instrumentation/api/incubator/semconv/db/SqlClientAttributesExtractor.java @@ -6,6 +6,10 @@ package io.opentelemetry.instrumentation.api.incubator.semconv.db; import static io.opentelemetry.instrumentation.api.internal.AttributesExtractorUtil.internalSet; +import static io.opentelemetry.semconv.DbAttributes.DB_COLLECTION_NAME; +import static io.opentelemetry.semconv.DbAttributes.DB_OPERATION_BATCH_SIZE; +import static io.opentelemetry.semconv.DbAttributes.DB_OPERATION_NAME; +import static io.opentelemetry.semconv.DbAttributes.DB_QUERY_TEXT; import io.opentelemetry.api.common.AttributeKey; import io.opentelemetry.api.common.AttributesBuilder; @@ -32,14 +36,7 @@ public final class SqlClientAttributesExtractor // copied from DbIncubatingAttributes private static final AttributeKey DB_OPERATION = AttributeKey.stringKey("db.operation"); - private static final AttributeKey DB_OPERATION_NAME = - AttributeKey.stringKey("db.operation.name"); private static final AttributeKey DB_STATEMENT = AttributeKey.stringKey("db.statement"); - private static final AttributeKey DB_QUERY_TEXT = AttributeKey.stringKey("db.query.text"); - static final AttributeKey DB_COLLECTION_NAME = - AttributeKey.stringKey("db.collection.name"); - private static final AttributeKey DB_OPERATION_BATCH_SIZE = - AttributeKey.longKey("db.operation.batch.size"); private static final AttributeKeyTemplate DB_QUERY_PARAMETER = AttributeKeyTemplate.stringKeyTemplate("db.query.parameter"); diff --git a/instrumentation-api-incubator/src/test/java/io/opentelemetry/instrumentation/api/incubator/semconv/db/SqlClientAttributesExtractorTest.java b/instrumentation-api-incubator/src/test/java/io/opentelemetry/instrumentation/api/incubator/semconv/db/SqlClientAttributesExtractorTest.java index 9bee323e12dd..e5dc0307cb95 100644 --- a/instrumentation-api-incubator/src/test/java/io/opentelemetry/instrumentation/api/incubator/semconv/db/SqlClientAttributesExtractorTest.java +++ b/instrumentation-api-incubator/src/test/java/io/opentelemetry/instrumentation/api/incubator/semconv/db/SqlClientAttributesExtractorTest.java @@ -6,6 +6,7 @@ package io.opentelemetry.instrumentation.api.incubator.semconv.db; import static io.opentelemetry.sdk.testing.assertj.OpenTelemetryAssertions.assertThat; +import static io.opentelemetry.semconv.DbAttributes.DB_OPERATION_BATCH_SIZE; import static io.opentelemetry.semconv.incubating.DbIncubatingAttributes.DB_QUERY_PARAMETER; import static java.util.Collections.emptySet; import static java.util.Collections.singleton; @@ -61,7 +62,7 @@ public String getConnectionString(Map map) { @Override public Long getBatchSize(Map map) { - return read(map, "db.operation.batch.size", Long.class); + return read(map, DB_OPERATION_BATCH_SIZE.getKey(), Long.class); } @SuppressWarnings("unchecked") @@ -252,7 +253,7 @@ void shouldExtractSingleQueryBatchAttributes() { Map request = new HashMap<>(); request.put("db.name", "potatoes"); request.put("db.statements", singleton("INSERT INTO potato VALUES(?)")); - request.put("db.operation.batch.size", 2L); + request.put(DB_OPERATION_BATCH_SIZE.getKey(), 2L); Context context = Context.root(); @@ -278,7 +279,7 @@ void shouldExtractSingleQueryBatchAttributes() { entry(DbAttributes.DB_QUERY_TEXT, "INSERT INTO potato VALUES(?)"), entry(DbAttributes.DB_OPERATION_NAME, "BATCH INSERT"), entry(DbAttributes.DB_COLLECTION_NAME, "potato"), - entry(DbAttributes.DB_OPERATION_BATCH_SIZE, 2L)); + entry(DB_OPERATION_BATCH_SIZE, 2L)); } else if (SemconvStability.emitOldDatabaseSemconv()) { assertThat(startAttributes.build()) .containsOnly( @@ -293,7 +294,7 @@ void shouldExtractSingleQueryBatchAttributes() { entry(DbAttributes.DB_QUERY_TEXT, "INSERT INTO potato VALUES(?)"), entry(DbAttributes.DB_OPERATION_NAME, "BATCH INSERT"), entry(DbAttributes.DB_COLLECTION_NAME, "potato"), - entry(DbAttributes.DB_OPERATION_BATCH_SIZE, 2L)); + entry(DB_OPERATION_BATCH_SIZE, 2L)); } assertThat(endAttributes.build().isEmpty()).isTrue(); @@ -307,7 +308,7 @@ void shouldExtractMultiQueryBatchAttributes() { request.put( "db.statements", Arrays.asList("INSERT INTO potato VALUES(1)", "INSERT INTO potato VALUES(2)")); - request.put("db.operation.batch.size", 2L); + request.put(DB_OPERATION_BATCH_SIZE.getKey(), 2L); Context context = Context.root(); @@ -330,7 +331,7 @@ void shouldExtractMultiQueryBatchAttributes() { entry(DbAttributes.DB_QUERY_TEXT, "INSERT INTO potato VALUES(?)"), entry(DbAttributes.DB_OPERATION_NAME, "BATCH INSERT"), entry(DbAttributes.DB_COLLECTION_NAME, "potato"), - entry(DbAttributes.DB_OPERATION_BATCH_SIZE, 2L)); + entry(DB_OPERATION_BATCH_SIZE, 2L)); } else if (SemconvStability.emitOldDatabaseSemconv()) { assertThat(startAttributes.build()) .containsOnly(entry(DbIncubatingAttributes.DB_NAME, "potatoes")); @@ -341,7 +342,7 @@ void shouldExtractMultiQueryBatchAttributes() { entry(DbAttributes.DB_QUERY_TEXT, "INSERT INTO potato VALUES(?)"), entry(DbAttributes.DB_OPERATION_NAME, "BATCH INSERT"), entry(DbAttributes.DB_COLLECTION_NAME, "potato"), - entry(DbAttributes.DB_OPERATION_BATCH_SIZE, 2L)); + entry(DB_OPERATION_BATCH_SIZE, 2L)); } assertThat(endAttributes.build().isEmpty()).isTrue(); @@ -353,7 +354,7 @@ void shouldIgnoreBatchSizeOne() { Map request = new HashMap<>(); request.put("db.name", "potatoes"); request.put("db.statements", singleton("INSERT INTO potato VALUES(?)")); - request.put("db.operation.batch.size", 1L); + request.put(DB_OPERATION_BATCH_SIZE.getKey(), 1L); Context context = Context.root(); @@ -446,7 +447,7 @@ void shouldNotExtractQueryParametersForBatch() { Map request = new HashMap<>(); request.put("db.name", "potatoes"); request.put("db.statements", singleton("INSERT INTO potato VALUES(?)")); - request.put("db.operation.batch.size", 2L); + request.put(DB_OPERATION_BATCH_SIZE.getKey(), 2L); request.put("db.query.parameter", Collections.singletonMap("0", "1")); Context context = Context.root(); diff --git a/instrumentation/aws-sdk/aws-sdk-1.11/library/src/main/java/io/opentelemetry/instrumentation/awssdk/v1_11/DynamoDbAttributesExtractor.java b/instrumentation/aws-sdk/aws-sdk-1.11/library/src/main/java/io/opentelemetry/instrumentation/awssdk/v1_11/DynamoDbAttributesExtractor.java index 09098be32d76..f561eedfd5e8 100644 --- a/instrumentation/aws-sdk/aws-sdk-1.11/library/src/main/java/io/opentelemetry/instrumentation/awssdk/v1_11/DynamoDbAttributesExtractor.java +++ b/instrumentation/aws-sdk/aws-sdk-1.11/library/src/main/java/io/opentelemetry/instrumentation/awssdk/v1_11/DynamoDbAttributesExtractor.java @@ -17,15 +17,14 @@ import java.util.List; import javax.annotation.Nullable; +import static io.opentelemetry.semconv.DbAttributes.DB_OPERATION_NAME; +import static io.opentelemetry.semconv.DbAttributes.DB_SYSTEM_NAME; + class DynamoDbAttributesExtractor implements AttributesExtractor, Response> { // copied from DbIncubatingAttributes private static final AttributeKey DB_OPERATION = AttributeKey.stringKey("db.operation"); - private static final AttributeKey DB_OPERATION_NAME = - AttributeKey.stringKey("db.operation.name"); private static final AttributeKey DB_SYSTEM = AttributeKey.stringKey("db.system"); - private static final AttributeKey DB_SYSTEM_NAME = - AttributeKey.stringKey("db.system.name"); // copied from AwsIncubatingAttributes private static final AttributeKey> AWS_DYNAMODB_TABLE_NAMES = AttributeKey.stringArrayKey("aws.dynamodb.table_names"); diff --git a/instrumentation/aws-sdk/aws-sdk-2.2/library/src/main/java/io/opentelemetry/instrumentation/awssdk/v2_2/internal/DynamoDbAttributesExtractor.java b/instrumentation/aws-sdk/aws-sdk-2.2/library/src/main/java/io/opentelemetry/instrumentation/awssdk/v2_2/internal/DynamoDbAttributesExtractor.java index e4dee3f40f1f..61789a6b4c1c 100644 --- a/instrumentation/aws-sdk/aws-sdk-2.2/library/src/main/java/io/opentelemetry/instrumentation/awssdk/v2_2/internal/DynamoDbAttributesExtractor.java +++ b/instrumentation/aws-sdk/aws-sdk-2.2/library/src/main/java/io/opentelemetry/instrumentation/awssdk/v2_2/internal/DynamoDbAttributesExtractor.java @@ -15,15 +15,14 @@ import software.amazon.awssdk.core.interceptor.ExecutionAttributes; import software.amazon.awssdk.core.interceptor.SdkExecutionAttribute; +import static io.opentelemetry.semconv.DbAttributes.DB_OPERATION_NAME; +import static io.opentelemetry.semconv.DbAttributes.DB_SYSTEM_NAME; + class DynamoDbAttributesExtractor implements AttributesExtractor { // copied from DbIncubatingAttributes private static final AttributeKey DB_OPERATION = AttributeKey.stringKey("db.operation"); - private static final AttributeKey DB_OPERATION_NAME = - AttributeKey.stringKey("db.operation.name"); private static final AttributeKey DB_SYSTEM = AttributeKey.stringKey("db.system"); - private static final AttributeKey DB_SYSTEM_NAME = - AttributeKey.stringKey("db.system.name"); // copied from DbIncubatingAttributes.DbSystemIncubatingValues private static final String DYNAMODB = "dynamodb"; diff --git a/instrumentation/jdbc/library/src/main/java/io/opentelemetry/instrumentation/jdbc/internal/DataSourceDbAttributesExtractor.java b/instrumentation/jdbc/library/src/main/java/io/opentelemetry/instrumentation/jdbc/internal/DataSourceDbAttributesExtractor.java index b601e4b4aa8a..58c184def1f5 100644 --- a/instrumentation/jdbc/library/src/main/java/io/opentelemetry/instrumentation/jdbc/internal/DataSourceDbAttributesExtractor.java +++ b/instrumentation/jdbc/library/src/main/java/io/opentelemetry/instrumentation/jdbc/internal/DataSourceDbAttributesExtractor.java @@ -6,6 +6,8 @@ package io.opentelemetry.instrumentation.jdbc.internal; import static io.opentelemetry.instrumentation.api.internal.AttributesExtractorUtil.internalSet; +import static io.opentelemetry.semconv.DbAttributes.DB_NAMESPACE; +import static io.opentelemetry.semconv.DbAttributes.DB_SYSTEM_NAME; import io.opentelemetry.api.common.AttributeKey; import io.opentelemetry.api.common.AttributesBuilder; @@ -21,10 +23,7 @@ enum DataSourceDbAttributesExtractor implements AttributesExtractor DB_NAME = AttributeKey.stringKey("db.name"); - private static final AttributeKey DB_NAMESPACE = AttributeKey.stringKey("db.namespace"); private static final AttributeKey DB_SYSTEM = AttributeKey.stringKey("db.system"); - private static final AttributeKey DB_SYSTEM_NAME = - AttributeKey.stringKey("db.system.name"); private static final AttributeKey DB_USER = AttributeKey.stringKey("db.user"); private static final AttributeKey DB_CONNECTION_STRING = AttributeKey.stringKey("db.connection_string"); diff --git a/instrumentation/jdbc/library/src/main/java/io/opentelemetry/instrumentation/jdbc/internal/TransactionAttributeExtractor.java b/instrumentation/jdbc/library/src/main/java/io/opentelemetry/instrumentation/jdbc/internal/TransactionAttributeExtractor.java index cb3553b1e7cc..f601f8a0a86d 100644 --- a/instrumentation/jdbc/library/src/main/java/io/opentelemetry/instrumentation/jdbc/internal/TransactionAttributeExtractor.java +++ b/instrumentation/jdbc/library/src/main/java/io/opentelemetry/instrumentation/jdbc/internal/TransactionAttributeExtractor.java @@ -6,6 +6,7 @@ package io.opentelemetry.instrumentation.jdbc.internal; import static io.opentelemetry.instrumentation.api.internal.AttributesExtractorUtil.internalSet; +import static io.opentelemetry.semconv.DbAttributes.DB_OPERATION_NAME; import io.opentelemetry.api.common.AttributeKey; import io.opentelemetry.api.common.AttributesBuilder; @@ -19,8 +20,6 @@ enum TransactionAttributeExtractor implements AttributesExtractor DB_OPERATION = AttributeKey.stringKey("db.operation"); - private static final AttributeKey DB_OPERATION_NAME = - AttributeKey.stringKey("db.operation.name"); @Override public void onStart(AttributesBuilder attributes, Context parentContext, DbRequest request) { diff --git a/instrumentation/lettuce/lettuce-5.1/library/src/main/java/io/opentelemetry/instrumentation/lettuce/v5_1/OpenTelemetryTracing.java b/instrumentation/lettuce/lettuce-5.1/library/src/main/java/io/opentelemetry/instrumentation/lettuce/v5_1/OpenTelemetryTracing.java index 145ddc164ed1..551812e9dbcc 100644 --- a/instrumentation/lettuce/lettuce-5.1/library/src/main/java/io/opentelemetry/instrumentation/lettuce/v5_1/OpenTelemetryTracing.java +++ b/instrumentation/lettuce/lettuce-5.1/library/src/main/java/io/opentelemetry/instrumentation/lettuce/v5_1/OpenTelemetryTracing.java @@ -6,6 +6,9 @@ package io.opentelemetry.instrumentation.lettuce.v5_1; import static io.opentelemetry.instrumentation.lettuce.common.LettuceArgSplitter.splitArgs; +import static io.opentelemetry.semconv.DbAttributes.DB_NAMESPACE; +import static io.opentelemetry.semconv.DbAttributes.DB_QUERY_TEXT; +import static io.opentelemetry.semconv.DbAttributes.DB_SYSTEM_NAME; import com.google.errorprone.annotations.CanIgnoreReturnValue; import io.lettuce.core.output.CommandOutput; @@ -42,10 +45,7 @@ final class OpenTelemetryTracing implements Tracing { // copied from DbIncubatingAttributes private static final AttributeKey DB_SYSTEM = AttributeKey.stringKey("db.system"); - private static final AttributeKey DB_SYSTEM_NAME = - AttributeKey.stringKey("db.system.name"); private static final AttributeKey DB_STATEMENT = AttributeKey.stringKey("db.statement"); - private static final AttributeKey DB_QUERY_TEXT = AttributeKey.stringKey("db.query.text"); private static final AttributeKey DB_REDIS_DATABASE_INDEX = AttributeKey.longKey("db.redis.database_index"); // copied from DbIncubatingAttributes.DbSystemIncubatingValues @@ -349,7 +349,7 @@ public synchronized Tracer.Span tag(String key, String value) { argsString = value; return this; } - if (key.equals("db.namespace") && SemconvStability.emitOldDatabaseSemconv()) { + if (key.equals(DB_NAMESPACE.getKey()) && SemconvStability.emitOldDatabaseSemconv()) { // map backwards into db.redis.database.index long val = Long.parseLong(value); if (span != null) { diff --git a/instrumentation/mongo/mongo-3.1/library/src/main/java/io/opentelemetry/instrumentation/mongo/v3_1/MongoAttributesExtractor.java b/instrumentation/mongo/mongo-3.1/library/src/main/java/io/opentelemetry/instrumentation/mongo/v3_1/MongoAttributesExtractor.java index 75254966739e..1d1cf58f2e0a 100644 --- a/instrumentation/mongo/mongo-3.1/library/src/main/java/io/opentelemetry/instrumentation/mongo/v3_1/MongoAttributesExtractor.java +++ b/instrumentation/mongo/mongo-3.1/library/src/main/java/io/opentelemetry/instrumentation/mongo/v3_1/MongoAttributesExtractor.java @@ -7,6 +7,7 @@ import static io.opentelemetry.instrumentation.api.internal.SemconvStability.emitOldDatabaseSemconv; import static io.opentelemetry.instrumentation.api.internal.SemconvStability.emitStableDatabaseSemconv; +import static io.opentelemetry.semconv.DbAttributes.DB_COLLECTION_NAME; import static java.util.Arrays.asList; import com.mongodb.event.CommandStartedEvent; @@ -21,8 +22,6 @@ class MongoAttributesExtractor implements AttributesExtractor { // copied from DbIncubatingAttributes - private static final AttributeKey DB_COLLECTION_NAME = - AttributeKey.stringKey("db.collection.name"); private static final AttributeKey DB_MONGODB_COLLECTION = AttributeKey.stringKey("db.mongodb.collection"); diff --git a/testing-common/src/main/java/io/opentelemetry/instrumentation/testing/junit/db/SemconvStabilityUtil.java b/testing-common/src/main/java/io/opentelemetry/instrumentation/testing/junit/db/SemconvStabilityUtil.java index bc1511016810..4d30e721a5ba 100644 --- a/testing-common/src/main/java/io/opentelemetry/instrumentation/testing/junit/db/SemconvStabilityUtil.java +++ b/testing-common/src/main/java/io/opentelemetry/instrumentation/testing/junit/db/SemconvStabilityUtil.java @@ -25,6 +25,10 @@ import static io.opentelemetry.semconv.incubating.DbIncubatingAttributes.DB_SQL_TABLE; import static io.opentelemetry.semconv.incubating.DbIncubatingAttributes.DB_STATEMENT; import static io.opentelemetry.semconv.incubating.DbIncubatingAttributes.DB_SYSTEM; +import static io.opentelemetry.semconv.DbAttributes.DB_NAMESPACE; +import static io.opentelemetry.semconv.DbAttributes.DB_OPERATION_NAME; +import static io.opentelemetry.semconv.DbAttributes.DB_COLLECTION_NAME; +import static io.opentelemetry.semconv.DbAttributes.DB_QUERY_TEXT; import io.opentelemetry.api.common.AttributeKey; import io.opentelemetry.instrumentation.api.internal.SemconvStability; @@ -34,13 +38,6 @@ // until old database semconv are dropped in 3.0 public class SemconvStabilityUtil { - private static final AttributeKey DB_NAMESPACE = AttributeKey.stringKey("db.namespace"); - private static final AttributeKey DB_QUERY_TEXT = AttributeKey.stringKey("db.query.text"); - private static final AttributeKey DB_OPERATION_NAME = - AttributeKey.stringKey("db.operation.name"); - private static final AttributeKey DB_COLLECTION_NAME = - AttributeKey.stringKey("db.collection.name"); - private static final Map, AttributeKey> oldToNewMap = buildMap(); @SuppressWarnings("deprecation") // using deprecated semconv From 0707f9781d8c9ad41d604fe841d7672fe8540759 Mon Sep 17 00:00:00 2001 From: Sylvain Juge <763082+SylvainJuge@users.noreply.github.com> Date: Wed, 11 Jun 2025 14:30:24 +0200 Subject: [PATCH 5/5] spotless --- .../awssdk/v1_11/DynamoDbAttributesExtractor.java | 6 +++--- .../awssdk/v2_2/internal/DynamoDbAttributesExtractor.java | 6 +++--- .../testing/junit/db/SemconvStabilityUtil.java | 8 ++++---- 3 files changed, 10 insertions(+), 10 deletions(-) diff --git a/instrumentation/aws-sdk/aws-sdk-1.11/library/src/main/java/io/opentelemetry/instrumentation/awssdk/v1_11/DynamoDbAttributesExtractor.java b/instrumentation/aws-sdk/aws-sdk-1.11/library/src/main/java/io/opentelemetry/instrumentation/awssdk/v1_11/DynamoDbAttributesExtractor.java index f561eedfd5e8..e81cb5c83e3b 100644 --- a/instrumentation/aws-sdk/aws-sdk-1.11/library/src/main/java/io/opentelemetry/instrumentation/awssdk/v1_11/DynamoDbAttributesExtractor.java +++ b/instrumentation/aws-sdk/aws-sdk-1.11/library/src/main/java/io/opentelemetry/instrumentation/awssdk/v1_11/DynamoDbAttributesExtractor.java @@ -5,6 +5,9 @@ package io.opentelemetry.instrumentation.awssdk.v1_11; +import static io.opentelemetry.semconv.DbAttributes.DB_OPERATION_NAME; +import static io.opentelemetry.semconv.DbAttributes.DB_SYSTEM_NAME; + import com.amazonaws.Request; import com.amazonaws.Response; import io.opentelemetry.api.common.AttributeKey; @@ -17,9 +20,6 @@ import java.util.List; import javax.annotation.Nullable; -import static io.opentelemetry.semconv.DbAttributes.DB_OPERATION_NAME; -import static io.opentelemetry.semconv.DbAttributes.DB_SYSTEM_NAME; - class DynamoDbAttributesExtractor implements AttributesExtractor, Response> { // copied from DbIncubatingAttributes diff --git a/instrumentation/aws-sdk/aws-sdk-2.2/library/src/main/java/io/opentelemetry/instrumentation/awssdk/v2_2/internal/DynamoDbAttributesExtractor.java b/instrumentation/aws-sdk/aws-sdk-2.2/library/src/main/java/io/opentelemetry/instrumentation/awssdk/v2_2/internal/DynamoDbAttributesExtractor.java index 61789a6b4c1c..171aa02f801b 100644 --- a/instrumentation/aws-sdk/aws-sdk-2.2/library/src/main/java/io/opentelemetry/instrumentation/awssdk/v2_2/internal/DynamoDbAttributesExtractor.java +++ b/instrumentation/aws-sdk/aws-sdk-2.2/library/src/main/java/io/opentelemetry/instrumentation/awssdk/v2_2/internal/DynamoDbAttributesExtractor.java @@ -5,6 +5,9 @@ package io.opentelemetry.instrumentation.awssdk.v2_2.internal; +import static io.opentelemetry.semconv.DbAttributes.DB_OPERATION_NAME; +import static io.opentelemetry.semconv.DbAttributes.DB_SYSTEM_NAME; + import io.opentelemetry.api.common.AttributeKey; import io.opentelemetry.api.common.AttributesBuilder; import io.opentelemetry.context.Context; @@ -15,9 +18,6 @@ import software.amazon.awssdk.core.interceptor.ExecutionAttributes; import software.amazon.awssdk.core.interceptor.SdkExecutionAttribute; -import static io.opentelemetry.semconv.DbAttributes.DB_OPERATION_NAME; -import static io.opentelemetry.semconv.DbAttributes.DB_SYSTEM_NAME; - class DynamoDbAttributesExtractor implements AttributesExtractor { // copied from DbIncubatingAttributes diff --git a/testing-common/src/main/java/io/opentelemetry/instrumentation/testing/junit/db/SemconvStabilityUtil.java b/testing-common/src/main/java/io/opentelemetry/instrumentation/testing/junit/db/SemconvStabilityUtil.java index 4d30e721a5ba..b316e24bc019 100644 --- a/testing-common/src/main/java/io/opentelemetry/instrumentation/testing/junit/db/SemconvStabilityUtil.java +++ b/testing-common/src/main/java/io/opentelemetry/instrumentation/testing/junit/db/SemconvStabilityUtil.java @@ -5,6 +5,10 @@ package io.opentelemetry.instrumentation.testing.junit.db; +import static io.opentelemetry.semconv.DbAttributes.DB_COLLECTION_NAME; +import static io.opentelemetry.semconv.DbAttributes.DB_NAMESPACE; +import static io.opentelemetry.semconv.DbAttributes.DB_OPERATION_NAME; +import static io.opentelemetry.semconv.DbAttributes.DB_QUERY_TEXT; import static io.opentelemetry.semconv.DbAttributes.DB_SYSTEM_NAME; import static io.opentelemetry.semconv.incubating.CassandraIncubatingAttributes.CASSANDRA_CONSISTENCY_LEVEL; import static io.opentelemetry.semconv.incubating.CassandraIncubatingAttributes.CASSANDRA_COORDINATOR_DC; @@ -25,10 +29,6 @@ import static io.opentelemetry.semconv.incubating.DbIncubatingAttributes.DB_SQL_TABLE; import static io.opentelemetry.semconv.incubating.DbIncubatingAttributes.DB_STATEMENT; import static io.opentelemetry.semconv.incubating.DbIncubatingAttributes.DB_SYSTEM; -import static io.opentelemetry.semconv.DbAttributes.DB_NAMESPACE; -import static io.opentelemetry.semconv.DbAttributes.DB_OPERATION_NAME; -import static io.opentelemetry.semconv.DbAttributes.DB_COLLECTION_NAME; -import static io.opentelemetry.semconv.DbAttributes.DB_QUERY_TEXT; import io.opentelemetry.api.common.AttributeKey; import io.opentelemetry.instrumentation.api.internal.SemconvStability;