Skip to content

Commit b1eb1fd

Browse files
fix(deps): update dependency io.opentelemetry.semconv:opentelemetry-semconv to v1.30.0-rc.1 (#13116)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> Co-authored-by: Lauri Tulmin <[email protected]>
1 parent e65366b commit b1eb1fd

File tree

155 files changed

+774
-412
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

155 files changed

+774
-412
lines changed

bom-alpha/build.gradle.kts

+3-4
Original file line numberDiff line numberDiff line change
@@ -18,11 +18,10 @@ dependencies {
1818
// Get the semconv version from :dependencyManagement
1919
val semconvConstraint = project.project(project(":dependencyManagement").path).configurations["api"].allDependencyConstraints
2020
.find { it.group.equals("io.opentelemetry.semconv")
21-
&& it.name.equals("opentelemetry-semconv") }
21+
&& it.name.equals("opentelemetry-semconv-incubating") }
2222
?: throw Exception("semconv constraint not found")
23-
val semconvVersion = semconvConstraint.version ?: throw Exception("missing version")
24-
otelBom.addExtra(semconvConstraint.group, semconvConstraint.name, semconvVersion)
25-
otelBom.addExtra(semconvConstraint.group, "opentelemetry-semconv-incubating", semconvVersion)
23+
val semconvAlphaVersion = semconvConstraint.version ?: throw Exception("missing version")
24+
otelBom.addExtra(semconvConstraint.group, "opentelemetry-semconv-incubating", semconvAlphaVersion)
2625
}
2726

2827
otelBom.projectFilter.set { it.findProperty("otel.stable") != "true" }

bom/build.gradle.kts

+8
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,14 @@ javaPlatform {
1212

1313
dependencies {
1414
api(platform("io.opentelemetry:opentelemetry-bom"))
15+
16+
// Get the semconv version from :dependencyManagement
17+
val semconvConstraint = project.project(project(":dependencyManagement").path).configurations["api"].allDependencyConstraints
18+
.find { it.group.equals("io.opentelemetry.semconv")
19+
&& it.name.equals("opentelemetry-semconv") }
20+
?: throw Exception("semconv constraint not found")
21+
val semconvVersion = semconvConstraint.version ?: throw Exception("missing version")
22+
otelBom.addExtra(semconvConstraint.group, semconvConstraint.name, semconvVersion)
1523
}
1624

1725
otelBom.projectFilter.set { it.findProperty("otel.stable") == "true" }

dependencyManagement/build.gradle.kts

+3-2
Original file line numberDiff line numberDiff line change
@@ -46,11 +46,12 @@ val asmVersion = "9.7.1"
4646
val jmhVersion = "1.37"
4747
val mockitoVersion = "4.11.0"
4848
val slf4jVersion = "2.0.16"
49-
val semConvVersion = "1.29.0-alpha"
49+
val semConvVersion = "1.30.0-rc.1"
50+
val semConvAlphaVersion = semConvVersion.replaceFirst("(-rc.*)?$".toRegex(), "-alpha$1")
5051

5152
val CORE_DEPENDENCIES = listOf(
5253
"io.opentelemetry.semconv:opentelemetry-semconv:${semConvVersion}",
53-
"io.opentelemetry.semconv:opentelemetry-semconv-incubating:${semConvVersion}",
54+
"io.opentelemetry.semconv:opentelemetry-semconv-incubating:${semConvAlphaVersion}",
5455
"com.google.auto.service:auto-service:${autoServiceVersion}",
5556
"com.google.auto.service:auto-service-annotations:${autoServiceVersion}",
5657
"com.google.auto.value:auto-value:${autoValueVersion}",

instrumentation-annotations-support-testing/src/main/java/io/opentelemetry/javaagent/instrumentation/otelannotations/AbstractWithSpanTest.java

+1
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,7 @@
1919
import org.junit.jupiter.api.Test;
2020
import org.junit.jupiter.api.extension.RegisterExtension;
2121

22+
@SuppressWarnings("deprecation") // CodeIncubatingAttributes.CODE_FUNCTION is deprecated
2223
public abstract class AbstractWithSpanTest<T extends U, U> {
2324

2425
@RegisterExtension

instrumentation-api-incubator/src/main/java/io/opentelemetry/instrumentation/api/incubator/semconv/db/DbClientCommonAttributesExtractor.java

+7-1
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,8 @@ abstract class DbClientCommonAttributesExtractor<
2424
private static final AttributeKey<String> DB_NAME = AttributeKey.stringKey("db.name");
2525
static final AttributeKey<String> DB_NAMESPACE = AttributeKey.stringKey("db.namespace");
2626
static final AttributeKey<String> DB_SYSTEM = AttributeKey.stringKey("db.system");
27+
public static final AttributeKey<String> DB_SYSTEM_NAME =
28+
AttributeKey.stringKey("db.system.name");
2729
private static final AttributeKey<String> DB_USER = AttributeKey.stringKey("db.user");
2830
private static final AttributeKey<String> DB_CONNECTION_STRING =
2931
AttributeKey.stringKey("db.connection_string");
@@ -37,11 +39,15 @@ abstract class DbClientCommonAttributesExtractor<
3739
@SuppressWarnings("deprecation") // until old db semconv are dropped
3840
@Override
3941
public void onStart(AttributesBuilder attributes, Context parentContext, REQUEST request) {
40-
internalSet(attributes, DB_SYSTEM, getter.getDbSystem(request));
4142
if (SemconvStability.emitStableDatabaseSemconv()) {
43+
internalSet(
44+
attributes,
45+
DB_SYSTEM_NAME,
46+
SemconvStability.stableDbSystemName(getter.getDbSystem(request)));
4247
internalSet(attributes, DB_NAMESPACE, getter.getDbNamespace(request));
4348
}
4449
if (SemconvStability.emitOldDatabaseSemconv()) {
50+
internalSet(attributes, DB_SYSTEM, getter.getDbSystem(request));
4551
internalSet(attributes, DB_USER, getter.getUser(request));
4652
internalSet(attributes, DB_NAME, getter.getDbNamespace(request));
4753
internalSet(attributes, DB_CONNECTION_STRING, getter.getConnectionString(request));

instrumentation-api-incubator/src/main/java/io/opentelemetry/instrumentation/api/incubator/semconv/db/DbClientMetricsAdvice.java

+1-1
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,7 @@ static void applyClientDurationAdvice(DoubleHistogramBuilder builder) {
2828
((ExtendedDoubleHistogramBuilder) builder)
2929
.setAttributesAdvice(
3030
asList(
31-
DbClientCommonAttributesExtractor.DB_SYSTEM,
31+
DbClientCommonAttributesExtractor.DB_SYSTEM_NAME,
3232
SqlClientAttributesExtractor.DB_COLLECTION_NAME,
3333
DbClientCommonAttributesExtractor.DB_NAMESPACE,
3434
DbClientAttributesExtractor.DB_OPERATION_NAME,

instrumentation-api-incubator/src/test/java/io/opentelemetry/instrumentation/api/incubator/semconv/code/CodeAttributesExtractorTest.java

+1
Original file line numberDiff line numberDiff line change
@@ -37,6 +37,7 @@ public String getMethodName(Map<String, String> request) {
3737
}
3838
}
3939

40+
@SuppressWarnings("deprecation") // using deprecated semconv
4041
@Test
4142
void shouldExtractAllAttributes() {
4243
// given

instrumentation-api-incubator/src/test/java/io/opentelemetry/instrumentation/api/incubator/semconv/db/DbClientAttributesExtractorTest.java

+2-1
Original file line numberDiff line numberDiff line change
@@ -84,6 +84,7 @@ void shouldExtractAllAvailableAttributes() {
8484
assertThat(startAttributes.build())
8585
.containsOnly(
8686
entry(DbIncubatingAttributes.DB_SYSTEM, "myDb"),
87+
entry(DbIncubatingAttributes.DB_SYSTEM_NAME, "myDb"),
8788
entry(DbIncubatingAttributes.DB_USER, "username"),
8889
entry(DbIncubatingAttributes.DB_NAME, "potatoes"),
8990
entry(DbIncubatingAttributes.DB_CONNECTION_STRING, "mydb:///potatoes"),
@@ -104,7 +105,7 @@ void shouldExtractAllAvailableAttributes() {
104105
} else if (SemconvStability.emitStableDatabaseSemconv()) {
105106
assertThat(startAttributes.build())
106107
.containsOnly(
107-
entry(DbIncubatingAttributes.DB_SYSTEM, "myDb"),
108+
entry(DbIncubatingAttributes.DB_SYSTEM_NAME, "myDb"),
108109
entry(DbIncubatingAttributes.DB_NAMESPACE, "potatoes"),
109110
entry(DbIncubatingAttributes.DB_QUERY_TEXT, "SELECT * FROM potato"),
110111
entry(DbIncubatingAttributes.DB_OPERATION_NAME, "SELECT"));

instrumentation-api-incubator/src/test/java/io/opentelemetry/instrumentation/api/incubator/semconv/db/DbClientMetricsTest.java

+2-2
Original file line numberDiff line numberDiff line change
@@ -42,7 +42,7 @@ void collectsMetrics() {
4242

4343
Attributes operationAttributes =
4444
Attributes.builder()
45-
.put(DbClientCommonAttributesExtractor.DB_SYSTEM, "myDb")
45+
.put(DbClientCommonAttributesExtractor.DB_SYSTEM_NAME, "myDb")
4646
.put(SqlClientAttributesExtractor.DB_COLLECTION_NAME, "table")
4747
.put(DbClientCommonAttributesExtractor.DB_NAMESPACE, "potatoes")
4848
.put(DbClientAttributesExtractor.DB_OPERATION_NAME, "SELECT")
@@ -89,7 +89,7 @@ void collectsMetrics() {
8989
.hasSum(0.15 /* seconds */)
9090
.hasAttributesSatisfying(
9191
equalTo(
92-
DbClientCommonAttributesExtractor.DB_SYSTEM,
92+
DbClientCommonAttributesExtractor.DB_SYSTEM_NAME,
9393
"myDb"),
9494
equalTo(
9595
DbClientCommonAttributesExtractor.DB_NAMESPACE,

instrumentation-api-incubator/src/test/java/io/opentelemetry/instrumentation/api/incubator/semconv/db/SqlClientAttributesExtractorTest.java

+2-1
Original file line numberDiff line numberDiff line change
@@ -108,6 +108,7 @@ void shouldExtractAllAttributes() {
108108
assertThat(startAttributes.build())
109109
.containsOnly(
110110
entry(DbIncubatingAttributes.DB_SYSTEM, "myDb"),
111+
entry(DbIncubatingAttributes.DB_SYSTEM_NAME, "myDb"),
111112
entry(DbIncubatingAttributes.DB_USER, "username"),
112113
entry(DbIncubatingAttributes.DB_NAME, "potatoes"),
113114
entry(DbIncubatingAttributes.DB_CONNECTION_STRING, "mydb:///potatoes"),
@@ -131,7 +132,7 @@ void shouldExtractAllAttributes() {
131132
} else if (SemconvStability.emitStableDatabaseSemconv()) {
132133
assertThat(startAttributes.build())
133134
.containsOnly(
134-
entry(DbIncubatingAttributes.DB_SYSTEM, "myDb"),
135+
entry(DbIncubatingAttributes.DB_SYSTEM_NAME, "myDb"),
135136
entry(DbIncubatingAttributes.DB_NAMESPACE, "potatoes"),
136137
entry(DbIncubatingAttributes.DB_QUERY_TEXT, "SELECT * FROM potato WHERE id=?"),
137138
entry(DbIncubatingAttributes.DB_OPERATION_NAME, "SELECT"),

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

+27
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,9 @@
77

88
import static java.util.Arrays.asList;
99

10+
import java.util.HashMap;
1011
import java.util.HashSet;
12+
import java.util.Map;
1113
import java.util.Set;
1214

1315
/**
@@ -50,5 +52,30 @@ public static boolean emitStableDatabaseSemconv() {
5052
return emitStableDatabaseSemconv;
5153
}
5254

55+
private static final Map<String, String> dbSystemNameMap = new HashMap<>();
56+
57+
static {
58+
dbSystemNameMap.put("adabas", "softwareag.adabas");
59+
dbSystemNameMap.put("intersystems_cache", "intersystems.cache");
60+
dbSystemNameMap.put("cosmosdb", "azure.cosmosdb");
61+
dbSystemNameMap.put("db2", "ibm.db2");
62+
dbSystemNameMap.put("dynamodb", "aws.dynamodb");
63+
dbSystemNameMap.put("h2", "h2database");
64+
dbSystemNameMap.put("hanadb", "sap.hana");
65+
dbSystemNameMap.put("informix", "ibm.informix");
66+
dbSystemNameMap.put("ingres", "actian.ingres");
67+
dbSystemNameMap.put("maxdb", "sap.maxdb");
68+
dbSystemNameMap.put("mssql", "microsoft.sql_server");
69+
dbSystemNameMap.put("netezza", "ibm.netezza");
70+
dbSystemNameMap.put("oracle", "oracle.db");
71+
dbSystemNameMap.put("redshift", "aws.redshift");
72+
dbSystemNameMap.put("spanner", "gcp.spanner");
73+
}
74+
75+
public static String stableDbSystemName(String oldDbSystem) {
76+
String dbSystemName = dbSystemNameMap.get(oldDbSystem);
77+
return dbSystemName != null ? dbSystemName : oldDbSystem;
78+
}
79+
5380
private SemconvStability() {}
5481
}

instrumentation/aws-sdk/aws-sdk-1.11/library/src/main/java/io/opentelemetry/instrumentation/awssdk/v1_11/DynamoDbAttributesExtractor.java

+10-1
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,7 @@
1212
import io.opentelemetry.context.Context;
1313
import io.opentelemetry.instrumentation.api.instrumenter.AttributesExtractor;
1414
import io.opentelemetry.instrumentation.api.internal.AttributesExtractorUtil;
15+
import io.opentelemetry.instrumentation.api.internal.SemconvStability;
1516
import java.util.Collections;
1617
import java.util.List;
1718
import javax.annotation.Nullable;
@@ -20,16 +21,24 @@ public class DynamoDbAttributesExtractor implements AttributesExtractor<Request<
2021

2122
// copied from DbIncubatingAttributes
2223
private static final AttributeKey<String> DB_SYSTEM = AttributeKey.stringKey("db.system");
24+
private static final AttributeKey<String> DB_SYSTEM_NAME =
25+
AttributeKey.stringKey("db.system.name");
2326
// copied from AwsIncubatingAttributes
2427
private static final AttributeKey<List<String>> AWS_DYNAMODB_TABLE_NAMES =
2528
AttributeKey.stringArrayKey("aws.dynamodb.table_names");
2629

2730
// copied from DbIncubatingAttributes.DbSystemIncubatingValues
2831
private static final String DYNAMODB = "dynamodb";
32+
// copied from DbIncubatingAttributes.DbSystemNameIncubatingValues
33+
private static final String AWS_DYNAMODB = "aws.dynamodb";
2934

3035
@Override
3136
public void onStart(AttributesBuilder attributes, Context parentContext, Request<?> request) {
32-
AttributesExtractorUtil.internalSet(attributes, DB_SYSTEM, DYNAMODB);
37+
if (SemconvStability.emitStableDatabaseSemconv()) {
38+
AttributesExtractorUtil.internalSet(attributes, DB_SYSTEM_NAME, AWS_DYNAMODB);
39+
} else {
40+
AttributesExtractorUtil.internalSet(attributes, DB_SYSTEM, DYNAMODB);
41+
}
3342
String tableName = RequestAccess.getTableName(request.getOriginalRequest());
3443
AttributesExtractorUtil.internalSet(
3544
attributes, AWS_DYNAMODB_TABLE_NAMES, Collections.singletonList(tableName));

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

+12-3
Original file line numberDiff line numberDiff line change
@@ -7,18 +7,22 @@
77

88
import static io.opentelemetry.api.common.AttributeKey.stringKey;
99
import static io.opentelemetry.instrumentation.testing.junit.db.DbClientMetricsTestUtil.assertDurationMetric;
10+
import static io.opentelemetry.instrumentation.testing.junit.db.SemconvStabilityUtil.maybeStable;
1011
import static io.opentelemetry.sdk.testing.assertj.OpenTelemetryAssertions.equalTo;
1112
import static io.opentelemetry.semconv.ServerAttributes.SERVER_ADDRESS;
1213
import static io.opentelemetry.semconv.ServerAttributes.SERVER_PORT;
1314
import static io.opentelemetry.semconv.incubating.AwsIncubatingAttributes.AWS_DYNAMODB_TABLE_NAMES;
1415
import static io.opentelemetry.semconv.incubating.DbIncubatingAttributes.DB_SYSTEM;
15-
import static io.opentelemetry.semconv.incubating.DbIncubatingAttributes.DbSystemIncubatingValues.DYNAMODB;
16+
import static io.opentelemetry.semconv.incubating.DbIncubatingAttributes.DB_SYSTEM_NAME;
17+
import static io.opentelemetry.semconv.incubating.DbIncubatingAttributes.DbSystemNameIncubatingValues.AWS_DYNAMODB;
1618
import static java.util.Collections.singletonList;
1719

1820
import com.amazonaws.services.dynamodbv2.AmazonDynamoDB;
1921
import com.amazonaws.services.dynamodbv2.AmazonDynamoDBClientBuilder;
2022
import com.amazonaws.services.dynamodbv2.model.CreateTableRequest;
23+
import io.opentelemetry.instrumentation.api.internal.SemconvStability;
2124
import io.opentelemetry.sdk.testing.assertj.AttributeAssertion;
25+
import io.opentelemetry.semconv.incubating.DbIncubatingAttributes;
2226
import io.opentelemetry.testing.internal.armeria.common.HttpResponse;
2327
import io.opentelemetry.testing.internal.armeria.common.HttpStatus;
2428
import io.opentelemetry.testing.internal.armeria.common.MediaType;
@@ -35,6 +39,7 @@ protected boolean hasRequestId() {
3539
return false;
3640
}
3741

42+
@SuppressWarnings("deprecation") // using deprecated semconv
3843
@Test
3944
public void sendRequestWithMockedResponse() throws Exception {
4045
AmazonDynamoDBClientBuilder clientBuilder = AmazonDynamoDBClientBuilder.standard();
@@ -49,14 +54,18 @@ public void sendRequestWithMockedResponse() throws Exception {
4954
List<AttributeAssertion> additionalAttributes =
5055
Arrays.asList(
5156
equalTo(stringKey("aws.table.name"), "sometable"),
52-
equalTo(DB_SYSTEM, DYNAMODB),
57+
equalTo(
58+
maybeStable(DB_SYSTEM),
59+
SemconvStability.emitStableDatabaseSemconv()
60+
? AWS_DYNAMODB
61+
: DbIncubatingAttributes.DbSystemIncubatingValues.DYNAMODB),
5362
equalTo(AWS_DYNAMODB_TABLE_NAMES, singletonList("sometable")));
5463

5564
Object response = client.createTable(new CreateTableRequest("sometable", null));
5665
assertRequestWithMockedResponse(
5766
response, client, "DynamoDBv2", "CreateTable", "POST", additionalAttributes);
5867

5968
assertDurationMetric(
60-
testing(), "io.opentelemetry.aws-sdk-1.11", DB_SYSTEM, SERVER_ADDRESS, SERVER_PORT);
69+
testing(), "io.opentelemetry.aws-sdk-1.11", DB_SYSTEM_NAME, SERVER_ADDRESS, SERVER_PORT);
6170
}
6271
}

instrumentation/aws-sdk/aws-sdk-2.2/library/src/main/java/io/opentelemetry/instrumentation/awssdk/v2_2/internal/TracingExecutionInterceptor.java

+10-1
Original file line numberDiff line numberDiff line change
@@ -54,8 +54,12 @@ public final class TracingExecutionInterceptor implements ExecutionInterceptor {
5454
private static final AttributeKey<String> DB_OPERATION_NAME =
5555
AttributeKey.stringKey("db.operation.name");
5656
private static final AttributeKey<String> DB_SYSTEM = AttributeKey.stringKey("db.system");
57+
private static final AttributeKey<String> DB_SYSTEM_NAME =
58+
AttributeKey.stringKey("db.system.name");
5759
// copied from DbIncubatingAttributes.DbSystemIncubatingValues
5860
private static final String DB_SYSTEM_DYNAMODB = "dynamodb";
61+
// copied from DbIncubatingAttributes.DbSystemNameIncubatingValues
62+
private static final String DB_SYSTEM_AWS_DYNAMODB = "aws.dynamodb";
5963
// copied from AwsIncubatingAttributes
6064
private static final AttributeKey<String> AWS_REQUEST_ID =
6165
AttributeKey.stringKey("aws.request_id");
@@ -348,7 +352,12 @@ private void populateRequestAttributes(
348352
fieldMapper.mapToAttributes(sdkRequest, awsSdkRequest, span);
349353

350354
if (awsSdkRequest.type() == DYNAMODB) {
351-
span.setAttribute(DB_SYSTEM, DB_SYSTEM_DYNAMODB);
355+
if (SemconvStability.emitStableDatabaseSemconv()) {
356+
span.setAttribute(DB_SYSTEM_NAME, DB_SYSTEM_AWS_DYNAMODB);
357+
}
358+
if (SemconvStability.emitOldDatabaseSemconv()) {
359+
span.setAttribute(DB_SYSTEM, DB_SYSTEM_DYNAMODB);
360+
}
352361
String operation = attributes.getAttribute(SdkExecutionAttribute.OPERATION_NAME);
353362
if (operation != null) {
354363
if (SemconvStability.emitStableDatabaseSemconv()) {

instrumentation/aws-sdk/aws-sdk-2.2/testing/src/main/java/io/opentelemetry/instrumentation/awssdk/v2_2/AbstractAws2ClientCoreTest.java

+4-3
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@
77

88
import static io.opentelemetry.api.common.AttributeKey.stringKey;
99
import static io.opentelemetry.instrumentation.testing.junit.db.SemconvStabilityUtil.maybeStable;
10+
import static io.opentelemetry.instrumentation.testing.junit.db.SemconvStabilityUtil.maybeStableDbSystemName;
1011
import static io.opentelemetry.sdk.testing.assertj.OpenTelemetryAssertions.equalTo;
1112
import static io.opentelemetry.semconv.HttpAttributes.HTTP_REQUEST_METHOD;
1213
import static io.opentelemetry.semconv.HttpAttributes.HTTP_RESPONSE_STATUS_CODE;
@@ -170,7 +171,7 @@ private static void assertCreateTableRequest(SpanDataAssert span) {
170171
equalTo(stringKey("aws.agent"), "java-aws-sdk"),
171172
equalTo(AWS_REQUEST_ID, "UNKNOWN"),
172173
equalTo(stringKey("aws.table.name"), "sometable"),
173-
equalTo(DB_SYSTEM, "dynamodb"),
174+
equalTo(maybeStable(DB_SYSTEM), maybeStableDbSystemName("dynamodb")),
174175
equalTo(maybeStable(DB_OPERATION), "CreateTable"),
175176
equalTo(
176177
stringKey("aws.dynamodb.global_secondary_indexes"),
@@ -196,7 +197,7 @@ private static void assertQueryRequest(SpanDataAssert span) {
196197
equalTo(stringKey("aws.agent"), "java-aws-sdk"),
197198
equalTo(AWS_REQUEST_ID, "UNKNOWN"),
198199
equalTo(stringKey("aws.table.name"), "sometable"),
199-
equalTo(DB_SYSTEM, "dynamodb"),
200+
equalTo(maybeStable(DB_SYSTEM), maybeStableDbSystemName("dynamodb")),
200201
equalTo(maybeStable(DB_OPERATION), "Query"),
201202
equalTo(stringKey("aws.dynamodb.limit"), "10"),
202203
equalTo(stringKey("aws.dynamodb.select"), "ALL_ATTRIBUTES"));
@@ -219,7 +220,7 @@ private static void assertDynamoDbRequest(SpanDataAssert span, String operation)
219220
equalTo(stringKey("aws.agent"), "java-aws-sdk"),
220221
equalTo(AWS_REQUEST_ID, "UNKNOWN"),
221222
equalTo(stringKey("aws.table.name"), "sometable"),
222-
equalTo(DB_SYSTEM, "dynamodb"),
223+
equalTo(maybeStable(DB_SYSTEM), maybeStableDbSystemName("dynamodb")),
223224
equalTo(maybeStable(DB_OPERATION), operation));
224225
}
225226

instrumentation/aws-sdk/aws-sdk-2.2/testing/src/main/java/io/opentelemetry/instrumentation/awssdk/v2_2/AbstractAws2ClientRecordHttpErrorTest.java

+2-1
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@
77

88
import static io.opentelemetry.api.common.AttributeKey.stringKey;
99
import static io.opentelemetry.instrumentation.testing.junit.db.SemconvStabilityUtil.maybeStable;
10+
import static io.opentelemetry.instrumentation.testing.junit.db.SemconvStabilityUtil.maybeStableDbSystemName;
1011
import static io.opentelemetry.sdk.testing.assertj.OpenTelemetryAssertions.assertThat;
1112
import static io.opentelemetry.sdk.testing.assertj.OpenTelemetryAssertions.equalTo;
1213
import static io.opentelemetry.semconv.HttpAttributes.HTTP_REQUEST_METHOD;
@@ -184,7 +185,7 @@ public void testSendDynamoDbRequestWithRetries() {
184185
equalTo(stringKey("aws.agent"), "java-aws-sdk"),
185186
equalTo(AWS_REQUEST_ID, requestId),
186187
equalTo(stringKey("aws.table.name"), "sometable"),
187-
equalTo(DB_SYSTEM, "dynamodb"),
188+
equalTo(maybeStable(DB_SYSTEM), maybeStableDbSystemName("dynamodb")),
188189
equalTo(maybeStable(DB_OPERATION), operation));
189190
if (isRecordIndividualHttpErrorEnabled()) {
190191
span.hasEventsSatisfyingExactly(

instrumentation/camel-2.20/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/apachecamel/decorators/DbSpanDecorator.java

+6-1
Original file line numberDiff line numberDiff line change
@@ -124,7 +124,12 @@ public void pre(
124124
CamelDirection camelDirection) {
125125
super.pre(attributes, exchange, endpoint, camelDirection);
126126

127-
attributes.put(DbIncubatingAttributes.DB_SYSTEM, system);
127+
if (SemconvStability.emitStableDatabaseSemconv()) {
128+
attributes.put(DbIncubatingAttributes.DB_SYSTEM_NAME, system);
129+
}
130+
if (SemconvStability.emitOldDatabaseSemconv()) {
131+
attributes.put(DbIncubatingAttributes.DB_SYSTEM, system);
132+
}
128133
String statement = getStatement(exchange, endpoint);
129134
if (statement != null) {
130135
if (SemconvStability.emitStableDatabaseSemconv()) {

0 commit comments

Comments
 (0)