Skip to content

Commit 28afa61

Browse files
committed
use stable db semconv
1 parent 2198fc9 commit 28afa61

File tree

25 files changed

+97
-116
lines changed

25 files changed

+97
-116
lines changed

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

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,8 @@
66
package io.opentelemetry.instrumentation.api.incubator.semconv.db;
77

88
import static io.opentelemetry.instrumentation.api.internal.AttributesExtractorUtil.internalSet;
9+
import static io.opentelemetry.semconv.DbAttributes.DB_OPERATION_NAME;
10+
import static io.opentelemetry.semconv.DbAttributes.DB_QUERY_TEXT;
911

1012
import io.opentelemetry.api.common.AttributeKey;
1113
import io.opentelemetry.api.common.AttributesBuilder;
@@ -27,11 +29,7 @@ public final class DbClientAttributesExtractor<REQUEST, RESPONSE>
2729

2830
// copied from DbIncubatingAttributes
2931
private static final AttributeKey<String> DB_STATEMENT = AttributeKey.stringKey("db.statement");
30-
private static final AttributeKey<String> DB_QUERY_TEXT = AttributeKey.stringKey("db.query.text");
3132
static final AttributeKey<String> DB_OPERATION = AttributeKey.stringKey("db.operation");
32-
static final AttributeKey<String> DB_OPERATION_NAME = AttributeKey.stringKey("db.operation.name");
33-
static final AttributeKey<String> DB_RESPONSE_STATUS_CODE =
34-
AttributeKey.stringKey("db.response.status_code");
3533

3634
/** Creates the database client attributes extractor with default configuration. */
3735
public static <REQUEST, RESPONSE> AttributesExtractor<REQUEST, RESPONSE> create(

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

Lines changed: 3 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,9 @@
66
package io.opentelemetry.instrumentation.api.incubator.semconv.db;
77

88
import static io.opentelemetry.instrumentation.api.internal.AttributesExtractorUtil.internalSet;
9+
import static io.opentelemetry.semconv.DbAttributes.DB_NAMESPACE;
10+
import static io.opentelemetry.semconv.DbAttributes.DB_RESPONSE_STATUS_CODE;
11+
import static io.opentelemetry.semconv.DbAttributes.DB_SYSTEM_NAME;
912
import static io.opentelemetry.semconv.ErrorAttributes.ERROR_TYPE;
1013

1114
import io.opentelemetry.api.common.AttributeKey;
@@ -23,15 +26,10 @@ abstract class DbClientCommonAttributesExtractor<
2326

2427
// copied from DbIncubatingAttributes
2528
private static final AttributeKey<String> DB_NAME = AttributeKey.stringKey("db.name");
26-
static final AttributeKey<String> DB_NAMESPACE = AttributeKey.stringKey("db.namespace");
2729
static final AttributeKey<String> DB_SYSTEM = AttributeKey.stringKey("db.system");
28-
public static final AttributeKey<String> DB_SYSTEM_NAME =
29-
AttributeKey.stringKey("db.system.name");
3030
private static final AttributeKey<String> DB_USER = AttributeKey.stringKey("db.user");
3131
private static final AttributeKey<String> DB_CONNECTION_STRING =
3232
AttributeKey.stringKey("db.connection_string");
33-
private static final AttributeKey<String> DB_RESPONSE_STATUS_CODE =
34-
AttributeKey.stringKey("db.response.status_code");
3533

3634
final GETTER getter;
3735

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

Lines changed: 6 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,7 @@
1010

1111
import io.opentelemetry.api.incubator.metrics.ExtendedDoubleHistogramBuilder;
1212
import io.opentelemetry.api.metrics.DoubleHistogramBuilder;
13+
import io.opentelemetry.semconv.DbAttributes;
1314
import io.opentelemetry.semconv.ErrorAttributes;
1415
import io.opentelemetry.semconv.NetworkAttributes;
1516
import io.opentelemetry.semconv.ServerAttributes;
@@ -28,11 +29,11 @@ static void applyClientDurationAdvice(DoubleHistogramBuilder builder) {
2829
((ExtendedDoubleHistogramBuilder) builder)
2930
.setAttributesAdvice(
3031
asList(
31-
DbClientCommonAttributesExtractor.DB_SYSTEM_NAME,
32-
SqlClientAttributesExtractor.DB_COLLECTION_NAME,
33-
DbClientCommonAttributesExtractor.DB_NAMESPACE,
34-
DbClientAttributesExtractor.DB_OPERATION_NAME,
35-
DbClientAttributesExtractor.DB_RESPONSE_STATUS_CODE,
32+
DbAttributes.DB_SYSTEM_NAME,
33+
DbAttributes.DB_COLLECTION_NAME,
34+
DbAttributes.DB_NAMESPACE,
35+
DbAttributes.DB_OPERATION_NAME,
36+
DbAttributes.DB_RESPONSE_STATUS_CODE,
3637
ErrorAttributes.ERROR_TYPE,
3738
NetworkAttributes.NETWORK_PEER_ADDRESS,
3839
NetworkAttributes.NETWORK_PEER_PORT,

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

Lines changed: 4 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,10 @@
66
package io.opentelemetry.instrumentation.api.incubator.semconv.db;
77

88
import static io.opentelemetry.instrumentation.api.internal.AttributesExtractorUtil.internalSet;
9+
import static io.opentelemetry.semconv.DbAttributes.DB_COLLECTION_NAME;
10+
import static io.opentelemetry.semconv.DbAttributes.DB_OPERATION_BATCH_SIZE;
11+
import static io.opentelemetry.semconv.DbAttributes.DB_OPERATION_NAME;
12+
import static io.opentelemetry.semconv.DbAttributes.DB_QUERY_TEXT;
913

1014
import io.opentelemetry.api.common.AttributeKey;
1115
import io.opentelemetry.api.common.AttributesBuilder;
@@ -32,14 +36,7 @@ public final class SqlClientAttributesExtractor<REQUEST, RESPONSE>
3236

3337
// copied from DbIncubatingAttributes
3438
private static final AttributeKey<String> DB_OPERATION = AttributeKey.stringKey("db.operation");
35-
private static final AttributeKey<String> DB_OPERATION_NAME =
36-
AttributeKey.stringKey("db.operation.name");
3739
private static final AttributeKey<String> DB_STATEMENT = AttributeKey.stringKey("db.statement");
38-
private static final AttributeKey<String> DB_QUERY_TEXT = AttributeKey.stringKey("db.query.text");
39-
static final AttributeKey<String> DB_COLLECTION_NAME =
40-
AttributeKey.stringKey("db.collection.name");
41-
private static final AttributeKey<Long> DB_OPERATION_BATCH_SIZE =
42-
AttributeKey.longKey("db.operation.batch.size");
4340
private static final AttributeKeyTemplate<String> DB_QUERY_PARAMETER =
4441
AttributeKeyTemplate.stringKeyTemplate("db.query.parameter");
4542

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

Lines changed: 9 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,7 @@
1313
import io.opentelemetry.context.Context;
1414
import io.opentelemetry.instrumentation.api.instrumenter.AttributesExtractor;
1515
import io.opentelemetry.instrumentation.api.internal.SemconvStability;
16+
import io.opentelemetry.semconv.DbAttributes;
1617
import io.opentelemetry.semconv.incubating.DbIncubatingAttributes;
1718
import java.util.Collections;
1819
import java.util.HashMap;
@@ -85,15 +86,15 @@ void shouldExtractAllAvailableAttributes() {
8586
assertThat(startAttributes.build())
8687
.containsOnly(
8788
entry(DbIncubatingAttributes.DB_SYSTEM, "myDb"),
88-
entry(DbIncubatingAttributes.DB_SYSTEM_NAME, "myDb"),
89+
entry(DbAttributes.DB_SYSTEM_NAME, "myDb"),
8990
entry(DbIncubatingAttributes.DB_USER, "username"),
9091
entry(DbIncubatingAttributes.DB_NAME, "potatoes"),
9192
entry(DbIncubatingAttributes.DB_CONNECTION_STRING, "mydb:///potatoes"),
9293
entry(DbIncubatingAttributes.DB_STATEMENT, "SELECT * FROM potato"),
9394
entry(DbIncubatingAttributes.DB_OPERATION, "SELECT"),
94-
entry(DbIncubatingAttributes.DB_NAMESPACE, "potatoes"),
95-
entry(DbIncubatingAttributes.DB_QUERY_TEXT, "SELECT * FROM potato"),
96-
entry(DbIncubatingAttributes.DB_OPERATION_NAME, "SELECT"));
95+
entry(DbAttributes.DB_NAMESPACE, "potatoes"),
96+
entry(DbAttributes.DB_QUERY_TEXT, "SELECT * FROM potato"),
97+
entry(DbAttributes.DB_OPERATION_NAME, "SELECT"));
9798
} else if (SemconvStability.emitOldDatabaseSemconv()) {
9899
assertThat(startAttributes.build())
99100
.containsOnly(
@@ -106,10 +107,10 @@ void shouldExtractAllAvailableAttributes() {
106107
} else if (SemconvStability.emitStableDatabaseSemconv()) {
107108
assertThat(startAttributes.build())
108109
.containsOnly(
109-
entry(DbIncubatingAttributes.DB_SYSTEM_NAME, "myDb"),
110-
entry(DbIncubatingAttributes.DB_NAMESPACE, "potatoes"),
111-
entry(DbIncubatingAttributes.DB_QUERY_TEXT, "SELECT * FROM potato"),
112-
entry(DbIncubatingAttributes.DB_OPERATION_NAME, "SELECT"));
110+
entry(DbAttributes.DB_SYSTEM_NAME, "myDb"),
111+
entry(DbAttributes.DB_NAMESPACE, "potatoes"),
112+
entry(DbAttributes.DB_QUERY_TEXT, "SELECT * FROM potato"),
113+
entry(DbAttributes.DB_OPERATION_NAME, "SELECT"));
113114
}
114115

115116
assertThat(endAttributes.build().isEmpty()).isTrue();

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

Lines changed: 11 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,7 @@
1919
import io.opentelemetry.instrumentation.api.instrumenter.OperationListener;
2020
import io.opentelemetry.sdk.metrics.SdkMeterProvider;
2121
import io.opentelemetry.sdk.testing.exporter.InMemoryMetricReader;
22+
import io.opentelemetry.semconv.DbAttributes;
2223
import io.opentelemetry.semconv.ErrorAttributes;
2324
import io.opentelemetry.semconv.NetworkAttributes;
2425
import io.opentelemetry.semconv.ServerAttributes;
@@ -42,17 +43,17 @@ void collectsMetrics() {
4243

4344
Attributes operationAttributes =
4445
Attributes.builder()
45-
.put(DbClientCommonAttributesExtractor.DB_SYSTEM_NAME, "myDb")
46-
.put(SqlClientAttributesExtractor.DB_COLLECTION_NAME, "table")
47-
.put(DbClientCommonAttributesExtractor.DB_NAMESPACE, "potatoes")
48-
.put(DbClientAttributesExtractor.DB_OPERATION_NAME, "SELECT")
46+
.put(DbAttributes.DB_SYSTEM_NAME, "myDb")
47+
.put(DbAttributes.DB_COLLECTION_NAME, "table")
48+
.put(DbAttributes.DB_NAMESPACE, "potatoes")
49+
.put(DbAttributes.DB_OPERATION_NAME, "SELECT")
4950
.put(ServerAttributes.SERVER_ADDRESS, "localhost")
5051
.put(ServerAttributes.SERVER_PORT, 1234)
5152
.build();
5253

5354
Attributes responseAttributes =
5455
Attributes.builder()
55-
.put(DbClientAttributesExtractor.DB_RESPONSE_STATUS_CODE, "200")
56+
.put(DbAttributes.DB_RESPONSE_STATUS_CODE, "200")
5657
.put(ErrorAttributes.ERROR_TYPE, "400")
5758
.put(NetworkAttributes.NETWORK_PEER_ADDRESS, "1.2.3.4")
5859
.put(NetworkAttributes.NETWORK_PEER_PORT, 8080)
@@ -88,23 +89,13 @@ void collectsMetrics() {
8889
point
8990
.hasSum(0.15 /* seconds */)
9091
.hasAttributesSatisfying(
91-
equalTo(
92-
DbClientCommonAttributesExtractor.DB_SYSTEM_NAME,
93-
"myDb"),
94-
equalTo(
95-
DbClientCommonAttributesExtractor.DB_NAMESPACE,
96-
"potatoes"),
97-
equalTo(
98-
DbClientAttributesExtractor.DB_OPERATION_NAME,
99-
"SELECT"),
100-
equalTo(
101-
SqlClientAttributesExtractor.DB_COLLECTION_NAME,
102-
"table"),
92+
equalTo(DbAttributes.DB_SYSTEM_NAME, "myDb"),
93+
equalTo(DbAttributes.DB_NAMESPACE, "potatoes"),
94+
equalTo(DbAttributes.DB_OPERATION_NAME, "SELECT"),
95+
equalTo(DbAttributes.DB_COLLECTION_NAME, "table"),
10396
equalTo(ServerAttributes.SERVER_ADDRESS, "localhost"),
10497
equalTo(ServerAttributes.SERVER_PORT, 1234),
105-
equalTo(
106-
DbClientAttributesExtractor.DB_RESPONSE_STATUS_CODE,
107-
"200"),
98+
equalTo(DbAttributes.DB_RESPONSE_STATUS_CODE, "200"),
10899
equalTo(ErrorAttributes.ERROR_TYPE, "400"),
109100
equalTo(
110101
NetworkAttributes.NETWORK_PEER_ADDRESS, "1.2.3.4"),

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

Lines changed: 11 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,7 @@
1616
import io.opentelemetry.context.Context;
1717
import io.opentelemetry.instrumentation.api.instrumenter.AttributesExtractor;
1818
import io.opentelemetry.instrumentation.api.internal.SemconvStability;
19+
import io.opentelemetry.semconv.DbAttributes;
1920
import io.opentelemetry.semconv.incubating.DbIncubatingAttributes;
2021
import java.util.Arrays;
2122
import java.util.Collection;
@@ -118,17 +119,17 @@ void shouldExtractAllAttributes() {
118119
assertThat(startAttributes.build())
119120
.containsOnly(
120121
entry(DbIncubatingAttributes.DB_SYSTEM, "myDb"),
121-
entry(DbIncubatingAttributes.DB_SYSTEM_NAME, "myDb"),
122+
entry(DbAttributes.DB_SYSTEM_NAME, "myDb"),
122123
entry(DbIncubatingAttributes.DB_USER, "username"),
123124
entry(DbIncubatingAttributes.DB_NAME, "potatoes"),
124125
entry(DbIncubatingAttributes.DB_CONNECTION_STRING, "mydb:///potatoes"),
125126
entry(DbIncubatingAttributes.DB_STATEMENT, "SELECT * FROM potato WHERE id=?"),
126127
entry(DbIncubatingAttributes.DB_OPERATION, "SELECT"),
127128
entry(DbIncubatingAttributes.DB_SQL_TABLE, "potato"),
128-
entry(DbIncubatingAttributes.DB_NAMESPACE, "potatoes"),
129-
entry(DbIncubatingAttributes.DB_QUERY_TEXT, "SELECT * FROM potato WHERE id=?"),
130-
entry(DbIncubatingAttributes.DB_OPERATION_NAME, "SELECT"),
131-
entry(DbIncubatingAttributes.DB_COLLECTION_NAME, "potato"));
129+
entry(DbAttributes.DB_NAMESPACE, "potatoes"),
130+
entry(DbAttributes.DB_QUERY_TEXT, "SELECT * FROM potato WHERE id=?"),
131+
entry(DbAttributes.DB_OPERATION_NAME, "SELECT"),
132+
entry(DbAttributes.DB_COLLECTION_NAME, "potato"));
132133
} else if (SemconvStability.emitOldDatabaseSemconv()) {
133134
assertThat(startAttributes.build())
134135
.containsOnly(
@@ -142,11 +143,11 @@ void shouldExtractAllAttributes() {
142143
} else if (SemconvStability.emitStableDatabaseSemconv()) {
143144
assertThat(startAttributes.build())
144145
.containsOnly(
145-
entry(DbIncubatingAttributes.DB_SYSTEM_NAME, "myDb"),
146-
entry(DbIncubatingAttributes.DB_NAMESPACE, "potatoes"),
147-
entry(DbIncubatingAttributes.DB_QUERY_TEXT, "SELECT * FROM potato WHERE id=?"),
148-
entry(DbIncubatingAttributes.DB_OPERATION_NAME, "SELECT"),
149-
entry(DbIncubatingAttributes.DB_COLLECTION_NAME, "potato"));
146+
entry(DbAttributes.DB_SYSTEM_NAME, "myDb"),
147+
entry(DbAttributes.DB_NAMESPACE, "potatoes"),
148+
entry(DbAttributes.DB_QUERY_TEXT, "SELECT * FROM potato WHERE id=?"),
149+
entry(DbAttributes.DB_OPERATION_NAME, "SELECT"),
150+
entry(DbAttributes.DB_COLLECTION_NAME, "potato"));
150151
}
151152

152153
assertThat(endAttributes.build().isEmpty()).isTrue();

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

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,9 @@
55

66
package io.opentelemetry.instrumentation.awssdk.v1_11;
77

8+
import static io.opentelemetry.semconv.DbAttributes.DB_OPERATION_NAME;
9+
import static io.opentelemetry.semconv.DbAttributes.DB_SYSTEM_NAME;
10+
811
import com.amazonaws.Request;
912
import com.amazonaws.Response;
1013
import io.opentelemetry.api.common.AttributeKey;
@@ -21,11 +24,7 @@ class DynamoDbAttributesExtractor implements AttributesExtractor<Request<?>, Res
2124

2225
// copied from DbIncubatingAttributes
2326
private static final AttributeKey<String> DB_OPERATION = AttributeKey.stringKey("db.operation");
24-
private static final AttributeKey<String> DB_OPERATION_NAME =
25-
AttributeKey.stringKey("db.operation.name");
2627
private static final AttributeKey<String> DB_SYSTEM = AttributeKey.stringKey("db.system");
27-
private static final AttributeKey<String> DB_SYSTEM_NAME =
28-
AttributeKey.stringKey("db.system.name");
2928
// copied from AwsIncubatingAttributes
3029
private static final AttributeKey<List<String>> AWS_DYNAMODB_TABLE_NAMES =
3130
AttributeKey.stringArrayKey("aws.dynamodb.table_names");

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

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -9,13 +9,13 @@
99
import static io.opentelemetry.instrumentation.testing.junit.db.DbClientMetricsTestUtil.assertDurationMetric;
1010
import static io.opentelemetry.instrumentation.testing.junit.db.SemconvStabilityUtil.maybeStable;
1111
import static io.opentelemetry.sdk.testing.assertj.OpenTelemetryAssertions.equalTo;
12+
import static io.opentelemetry.semconv.DbAttributes.DB_OPERATION_NAME;
13+
import static io.opentelemetry.semconv.DbAttributes.DB_SYSTEM_NAME;
1214
import static io.opentelemetry.semconv.ServerAttributes.SERVER_ADDRESS;
1315
import static io.opentelemetry.semconv.ServerAttributes.SERVER_PORT;
1416
import static io.opentelemetry.semconv.incubating.AwsIncubatingAttributes.AWS_DYNAMODB_TABLE_NAMES;
1517
import static io.opentelemetry.semconv.incubating.DbIncubatingAttributes.DB_OPERATION;
16-
import static io.opentelemetry.semconv.incubating.DbIncubatingAttributes.DB_OPERATION_NAME;
1718
import static io.opentelemetry.semconv.incubating.DbIncubatingAttributes.DB_SYSTEM;
18-
import static io.opentelemetry.semconv.incubating.DbIncubatingAttributes.DB_SYSTEM_NAME;
1919
import static io.opentelemetry.semconv.incubating.DbIncubatingAttributes.DbSystemNameIncubatingValues.AWS_DYNAMODB;
2020
import static java.util.Collections.singletonList;
2121

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

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,9 @@
55

66
package io.opentelemetry.instrumentation.awssdk.v2_2.internal;
77

8+
import static io.opentelemetry.semconv.DbAttributes.DB_OPERATION_NAME;
9+
import static io.opentelemetry.semconv.DbAttributes.DB_SYSTEM_NAME;
10+
811
import io.opentelemetry.api.common.AttributeKey;
912
import io.opentelemetry.api.common.AttributesBuilder;
1013
import io.opentelemetry.context.Context;
@@ -19,11 +22,7 @@ class DynamoDbAttributesExtractor implements AttributesExtractor<ExecutionAttrib
1922

2023
// copied from DbIncubatingAttributes
2124
private static final AttributeKey<String> DB_OPERATION = AttributeKey.stringKey("db.operation");
22-
private static final AttributeKey<String> DB_OPERATION_NAME =
23-
AttributeKey.stringKey("db.operation.name");
2425
private static final AttributeKey<String> DB_SYSTEM = AttributeKey.stringKey("db.system");
25-
private static final AttributeKey<String> DB_SYSTEM_NAME =
26-
AttributeKey.stringKey("db.system.name");
2726

2827
// copied from DbIncubatingAttributes.DbSystemIncubatingValues
2928
private static final String DYNAMODB = "dynamodb";

0 commit comments

Comments
 (0)